reactjs - 使用 React 路由器 v4 在 react-boilerplate 中加载异步减速器和 sagas
问题描述
我正在考虑将项目迁移到最新的 react-boilerplate 版本,并且许多模块已更改。我无法使用 React 路由器 v4 来使用我的减速器和 sagas。我查看了使用反应路由器 4 动态加载 redux 减速器, 现在我收到以下错误:警告:React.createElement:类型无效——需要一个字符串(对于内置组件)或一个类/函数(对于复合组件) ) 但得到:对象。
检查
withReducer(Component)
. in withReducer(Component) (由 Route 创建) in Route (由 App 创建) in Switch (由 App 创建) in div (由 App 创建) in App (由 Connect(App) 创建) in Connect(App) (由 Route 创建) 在 Route (由 withRouter(Connect(App)) 创建) 在 withRouter(Connect(App)) 在 Router (由 BrowserRouter 创建) 在 BrowserRouter 在 IntlProvider (由 LanguageProvider 创建) 在 LanguageProvider (由 Connect(LanguageProvider) 创建) 在 Connect (LanguageProvider) 在提供者
我的代码与我遵循的示例略有不同,因为我添加了 withRouter:
const withConnect = withRouter(connect(mapStateToProps, mapDispatchToProps));
const addHelpReducer = injectReducer({ key: 'help', reducer: helpReducer });
export default compose(
addHelpReducer,
withConnect
)(Help);
injectReducer 来自 react-boilerplate utils 文件,我没有修改该文件或 configureStore 文件。
解决方案
我想出了如何做到这一点:
export default compose(
withRouter,
withReducer,
withSaga,
withConnect
)(Help);
虽然我现在进入了一个不同的问题。关闭这个。
推荐阅读
- lua - Lua 从 ipify.org 运行 API 以获取公共 IP
- php - 从 oneToMany 关系中删除一个项目。空值而不是删除
- go - go mod tidy work 如何为本地目录生成伪版本?
- c# - 如何通过 C# 将证书对话框称为 Chrome
- google-cloud-functions - 无服务器 VPC 连接器是否需要共享 VPC?
- python - 两个列表到熊猫数据框的一对一映射
- nginx - 如何在 kubernetes pod 中调试 nginx 302
- amazon-web-services - AWS Lightsail 分发自定义域 www/non-www 处理中的不一致和某些域不起作用
- ios - Firebase 身份验证 - 当我安装更新时用户为空,但如果我删除更新并重新安装旧应用程序,则会找到用户
- php - PHP -SQL 选择大于分钟和小时的地方