React Native-带有Redux Persist的Redux工具包可以't负载部件



在从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>

因此,该错误看起来像是没有正确导入组件。所以我测试了。。。

  1. 中导入的另一个文件中只有一个视图的空白组件。同样的错误
  2. 与主应用程序在同一文件中的代码相同的Blank组件。作品因此,这与它看起来没有正确导入组件是一致的。但在将减速器输入更改为存储之前,一切都起了作用,这与导入组件无关

空白组件(在同一文件中工作,在导出时不工作,然后从"./components/Blank"导入{Blank}(:

function Blank(props) {
return (
<View>
<Text>Blank</Text>
</View>
);
}

我对发生的事情和如何解决感到困惑。请帮忙?:(

是否正确导出Blank

// Blank.js
export default Blank
// App.js
import Blank from '../Blank

最新更新