如何解决React Native - Redux Toolkit with Redux Persist 无法加载组件
在从 reducers 更改为persistedReducer = persistReducer(persistConfig,reducers) 之前,我的应用程序可以工作。它不会持续存在,但一切正常。
更改为persistedReducer 会破坏一切。错误是:
元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件)但得到:未定义。
商店设置代码:
const persistConfig = {
key: 'root',storage: AsyncStorage
};
const persistedReducer = persistReducer(persistConfig,reducers);
const store = configureStore({
reducer: persistedReducer,middleware: getDefaultMiddleware({
serializableCheck: {
ignoredActions: [FLUSH,REHYDRATE,PAUSE,PERSIST,PURGE,REGISTER]
}
})
});
let persistor = persistStore(store);
它以前在以下情况下有效:
reducer: reducers
组件使用代码:
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<NavigationContainer linking={linking}>
<View style={styles.container}>
<View style={styles.content}>
<Blank />
</View>
</View>
</NavigationContainer>
</PersistGate>
</Provider>
所以错误看起来像是没有正确导入组件。所以我测试了...
- 导入的另一个文件中只有一个视图的空白组件。同样的错误。
- 与主应用程序在同一个文件中的同一个空白组件。作品。 所以这与它看起来好像没有正确导入组件是一致的。但是在将 reducers 输入更改为 store 之前,这一切都有效,这应该与导入组件无关。
空白组件(在同一个文件中工作,在导出然后使用 import { Blank } from './components/Blank' 导入时不起作用):
function Blank(props) {
return (
<View>
<Text>Blank</Text>
</View>
);
}
我不知道发生了什么以及如何解决。请帮忙? :)
解决方法
您是否正确导出了 Blank
?
// Blank.js
export default Blank
// App.js
import Blank from '../Blank
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。