[英]React Native: Expo's Fast Refresh feature only works in App.js properly in Expo GO mobile app
我有以下文件夹结构
我的应用程序/
├─ 节点模块/
├─ 源码/
│ ├─ RepositoryItem.jsx
│ ├─ RepositoryList.jsx
│ ├─ Main.jsx
├─ package.json
├─ README.md
├─ App.js
RepositoryList 和 RepositoryItem 被导入到 Main.jsx 中。 导入 App.js 的 Main.jsx
如果我修改App.js或Main.js中的代码,并保存。 Expo GO 应用程序立即显示更改。
如果我修改 RepositoryList.jsx 或 RepositoryItem.jsx 组件并保存,会发生快速刷新,但不会显示更改。 仅当我手动重新加载应用程序时。
如果我修改 RepositoryList.jsx 组件和 Main.jsx。 Main.jsx 中的更改会立即显示,只有在手动重新加载后才会显示 RepositoryList.jsx 中的更改。
此外,如果我更改 RepositoryItem 或 RepositoryList...“正在刷新...使用快速刷新显示”,但更改不会反映在应用程序中
我用手机和平板电脑试过,两台设备都存在问题。
有没有办法来解决这个问题?
您正在使用 JSX 文件(RepositoryItem.jsx;RepositoryList.jsx;Main.jsx)。 您是否尝试过将扩展名更改为 JS? (Javascript) 即:RepositoryItem.js
快速刷新适用于嵌套在RepositoryList.js
和RepositoryItem.js
等子文件夹中的文件。
为什么它没有为我刷新是因为在RepositoryList
中我返回一个FlatList
组件,并且在其中renderItem
是RepositoryItem
。 像这样:
return (
<View>
<FlatList
data={repositories}
ItemSeparatorComponent={ItemSeparator}
renderItem={RepositoryItem}
/>
</View>
);
现在的问题是:如果我更改RepositoryItem
(即 FlatList 的renderItem
属性),为什么 Fast Refresh FlatList
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.