当前位置: 首页 > 知识库问答 >
问题:

react、i18n、redux和react路由器配置

诸葛康胜
2023-03-14

我有一个简单的(目前)应用程序,使用react router和redux,我想为它添加国际化功能。

我已经安装了npm包react-i18Next,并且能够安装和运行提供的示例。我已经将适当的导入添加到我自己的应用程序中,并将国际化标签添加到根渲染方法中。

当我将I18nextProvider标记添加到render方法时,我得到了错误

找不到模块“react

这并不是特别有用,尤其是因为如果我删除标签,react应用程序运行良好。

我使用的渲染方法是:

import React from 'react'
import ReactDOM from 'react-dom'    
....    

ReactDOM.render(
  <I18nextProvider i18n={ i18n }>
  <Provider store={store}>
    <div>
      <Router history={history}>
        <Route path="/" component={App}>
          <IndexRoute component={DashboardIndex}/>
          <Route path="about" component={About}/>
          <Route path="collectors" component={Collectors}/>
        </Route>
      </Router>
      <DevTools />
    </div>
  </Provider>
  </I18nextProvider>,
  document.getElementById('app')

编辑:我已经使用yo react生成器启动了一个空白应用程序,它会产生同样的问题,所以我只能假设这个问题与webpack构建有关

我是非常新的反应/redux等人。但在互联网上没有很多帮助的情况下,我真的很感激任何帮助。

完整的堆栈跟踪是:

未捕获的错误:找不到模块“反应”o@index.js?0f21: 1(匿名函数)@index.js?0f21:1r.4.react@index.js?0f21: 1o@index.js?0f21: 1(匿名函数)@index。

js?0f21:1r。2../I18nextProvider@index。js?0f21:1o@index。js?0f21:1e@索引。js?0f21:1(匿名函数)@index。js?0f21:1c@index。js?0f21:1(匿名函数)@index。js?0f21:1(匿名函数)@app。js:4127__网页包__require__@app。js:535fn@app。js:76(匿名函数)@VM91841:35(匿名函数)@index。js?9552:67(匿名函数)@index。js?9552:67(匿名函数)@app。js:1024__网页包__require__@app。js:535fn@app。js:76(匿名函数)@app。js:567__网页包____@app。js:535(匿名函数)@app。js:558(匿名函数)@app。js:561客户?8a21:22[WDS]热模块更换已启用。

共有2个答案

高才
2023-03-14

从技术角度来看,我从来没有弄清楚这个问题的根源,所以重构为使用react-intl来满足我的国际化需求。它也适用于redux

颜均
2023-03-14

您是否需要对具有

ReactDOM.render(
  <I189nextProvider i18n={ i18n }>
  <Provider store={store}>
    <div>
      <Router history={history}>
        <Route path="/" component={App}>
          <IndexRoute component={DashboardIndex}/>
          <Route path="about" component={About}/>
          <Route path="collectors" component={Collectors}/>
        </Route>
      </Router>
      <DevTools />
    </div>
  </Provider>
  </I189nextProvider>,
  document.getElementById('app')

如果你没有问题。。。你所有的jsx都会转换为React。createComponent(…)

不需要React将导致捆绑错误。

 类似资料:
  • 使用redux和反应路由器,我想访问路由指定的组件以外的组件上的路由参数。 我已经对react-router、redux和react-router-redux进行了如下设置,我想从我的redux存储访问reportId参数。 我已经尝试连接react-redux路由器来存储路由状态,但是我发现除了活动路由的完整路径之外,redux内部没有任何有用的存储。这让我可以选择从redux中的路径解析出re

  • 在我的情况下,当使用从react-redux时,反应路由器不会将我的反应组件视为有效组件。并且有一个警告:失败proType:无效prop提供给 Main.js

  • Redux提倡使用具有单一状态的单一存储。但是,使用react router,您可以获得多个页面,每个页面都有自己的顶级根组件。 一个人应该如何用一个有多个页面的反应路由器应用程序连接redux?React-router 1.0不再允许您向路由传递道具,因此使路由器成为包含所有页面状态的顶级组件不再可能也不可行。

  • 问题内容: 我正在用React构建Flask应用,但最终遇到了路由问题。 后端负责成为API,因此一些路由如下所示: 以及通往React的主要路线: 我在React应用程序中使用react-router,一切正常,react- router带我进入,并获得了呈现的视图,但是当我刷新页面时,Flask应用程序会处理此调用,并且会出错。 最好的解决方案是什么?我正在考虑重定向所有未调用的调用,这是不理

  • 我正在尝试将react router从v3升级到v4,运行应用程序时出现以下错误: 减速器: 商店: 索引:从“React”导入React; 路线: 应用程序: 我不知道我错过了什么才能让它发挥作用 **注意:即使我只有一个路由并呈现静态组件(带文本的单个div),我仍然会看到此错误

  • 大家好,我不知道发生了什么事。我有以下路线: 只有路径为“/”的路由和路径为“/patient/:id”的路由才有效,其他3条路由只是没有显示与路径对应的组件。 这就是我进入路线的方式。我有一个标题组件,上面有正确的链接。见下文 在头组件中,我从'react router dom'导入{Link};在我声明路由的文件中,我从'react router dom'导入{BrowserRouter,Ro