繁体   English   中英

React Native:Expo 的快速刷新功能仅在 App.js 中正常工作在 Expo GO 移动应用程序中

[英]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.jsRepositoryItem.js等子文件夹中的文件。

为什么它没有为我刷新是因为在RepositoryList中我返回一个FlatList组件,并且在其中renderItemRepositoryItem 像这样:

return (
    <View>
        <FlatList
            data={repositories}
            ItemSeparatorComponent={ItemSeparator}
            renderItem={RepositoryItem}
        />
    </View>
);

现在的问题是:如果我更改RepositoryItem (即 FlatList 的renderItem属性),为什么 Fast Refresh FlatList

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM