我正在使用React Native和Redux开发移动应用程序,我正面临着软件设计问题.我想调用REST API(异步操作)进行登录,如果该操作成功,则导航到主视图.我正在使用redux和thunk所以我已经实现了异步操作,所以我的主要疑问是:我应该把逻辑导航到主视图?
我可以直接从动作访问导航器对象并在那里执行导航吗?我应该在登录组件中执行此操作吗?(正如我已经这样做 - 检查下面的代码).
componentWillReceiveProps(nextProps){
if(nextProps.errorLoginMsg){
Alert.alert("Login Failed", nextProps.errorLoginMsg);
}
else if(!nextProps.user.isNull()){
this.props.navigator.replace({name: 'main'});
}
}
Run Code Online (Sandbox Code Playgroud)
我对组件中的逻辑没有信心.似乎不是一个好习惯.有没有其他方法可以做到这一点?
谢谢
我理解在webpack上完成的伟大工作4.特别是重写代码拆分插件.但是,由于它仍然有点新,我没有找到关于新SplitChunksPlugin的好文档.
我在选择的术语的含义上挣扎.例如:
块:有3个可能的值"initial","async"和"all".这是什么意思?初始块是条目?异步动态导入?一切都是初始+异步?如果我使用initial,那么我的动态导入块将无法利用代码拆分?例如.main.tsx动态导入about.tsx,它正常导入lodash.Lodash不会被提取到供应商捆绑?
强制执行:我看到很多配置设置强制执行:true,这是什么意思?
为了更好的上下文,我发布了一个splitChunks配置的例子.
optimization: {
splitChunks: {
cacheGroups: {
'commons': {
minChunks: 2,
chunks: 'all',
name: 'commons',
priority: 10,
enforce: true,
},
},
},
},Run Code Online (Sandbox Code Playgroud)