Reactjs 反应:如何处理语言选择的路由
这里是初学者。我想在我的新网站中实现语言选择。用户可以从下拉菜单中选择特定国家/地区。根据所选语言,URL应更新为Reactjs 反应:如何处理语言选择的路由,reactjs,Reactjs,这里是初学者。我想在我的新网站中实现语言选择。用户可以从下拉菜单中选择特定国家/地区。根据所选语言,URL应更新为/:country/about,整个页面的内容应相应更新 在我脑海中,我可以尝试以下选项之一 在大多数父应用程序组件状态下定义语言,当更改时,将使用新的语言和设置重新呈现整个应用程序(所有子应用程序) 使用location.href加载包含国家/地区代码的新URL,这将使用新语言和设置实现完全重新加载 index.js ReactDOM.render ( <Provid
/:country/about
,整个页面的内容应相应更新
在我脑海中,我可以尝试以下选项之一
大多数父应用程序组件状态下定义语言
,当更改时,将使用新的语言和设置重新呈现整个应用程序(所有子应用程序)location.href
加载包含国家/地区代码的新URL,这将使用新语言和设置实现完全重新加载ReactDOM.render
(
<Provider store={store}>
<BrowserRouter>
<Switch>
<Route path="/:country/about" component={AboutPage} />
<Route path="/:country" component={HomePage} />
<Route path="/" component={HomePage} />
</Switch>
</BrowserRouter>
</Provider>,
document.getElementById('app')
);
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/:country/all-restaurants">All Restaurants</Link>
</li>
<li>
<Link to="/:country/how-it-works">How It Works</Link>
</li>
<li>
<Link to="/:country/about">About Us</Link>
</li>
<li>
<Link to="/:country/restaurant">Lallo Pizzeria</Link>
</li>
我不知道接下来会发生什么。处理此问题的最佳方法是什么?将图像URL更改为以斜线开头的适当URL就足够了
/assets/img/image.jpg
他们会指出
http://localhost:8080/assets/img/image.jpg
嗯,为什么不将国家作为路由器参数发送,而将其作为查询参数发送呢。我的意思是,不要使用
“/:country/about”
,而是保留它“/about”
,并将它发送到“/about/?country=en”
。这样指向指向图像的URL就不会被破坏。这是个好主意。谢谢。将图像URL更改为以斜杠开头的适当URL就足够了,如/assets/img/image.jpg
,它们将指向http://localhost:8080/assets/img/image.jpg
这是有用的信息,谢谢。
/assets/img/image.jpg
http://localhost:8080/assets/img/image.jpg