javascript - 更新其他 React 组件
问题描述
我有一个导航栏,其中包含更改网站语言的按钮。我没有使用不同的 html,而是将文本替换为数据库中的内容。但是,在组件中执行任何操作只会更新该组件,我需要一种方法来更新每个其他组件
我还没有尝试过任何有用的东西,因为通常的解决方案有一个复杂的布局。
应用程序.js
function App() {
return (
<div className="App">
<Router>
<div className="container" id="main">
<Navbar />
<Switch>
<Route exact path="/" component={Home}></Route>
<Route path="/gallery" component={Gallery}></Route>
</Switch>
</div>
</Router>
</div>
);
}
export default App;
我的导航栏位于 Switch 之外,其中包含我需要更新的所有不同页面。
我需要做的就是以某种方式将更新请求传递给每个其他组件。如果它在不重新加载页面的情况下发生会很好,尽管这会有点工作。
解决方案
你没有提到使用 Redux,所以我假设你只是使用 React 状态。将语言保持在顶级组件的状态,并将语言传递给需要它的组件。给 Switch 一个回调函数,当语言改变时改变顶层状态。
推荐阅读
- asp.net - 有没有办法在 IIS 中托管的网站中查看实际的应用程序错误?
- c# - Botframework V4:如何发送视频附件?
- reactjs - 如何在反应中设置动态数据?
- apache-kafka-streams - 编译后更改 Kafka Streams 配置
- css - 采用高度而不是宽度的响应式 iframe(youtube/vimeo 嵌入)
- c# - 处理 API URL 中单个键的多个值
- c++ - 分段错误?
- angular - Angular 将 html 模板作为字符串注入
- c# - Entity Framework Core - 在 Include 中调用填充扩展方法
- python - 命名实体识别无法显示列表