我在上下文中有语言设置,如下所示
class LanguageProvider extends Component {
static childContextTypes = {
langConfig: PropTypes.object,
};
getChildContext() {
return { langConfig: 'en' };
}
render() {
return this.props.children;
}
}
export default LanguageProvider;
Run Code Online (Sandbox Code Playgroud)
我的应用程序代码如下所示
<LanguageProvider>
<App>
<MyPage />
</App>
</LanguageProvider>
Run Code Online (Sandbox Code Playgroud)
我的页面有一个用于切换语言的组件
<MyPage>
<LanguageSwitcher/>
</MyPage>
Run Code Online (Sandbox Code Playgroud)
LanguageSwitcher 在此MyPage需要更新上下文以将语言更改为'jp',如下所示
class LanguageSwitcher extends Component {
static contextTypes = {
langConfig: PropTypes.object,
};
updateLanguage() {
//Here I need to update the langConfig to 'jp'
}
render() {
return <button onClick={this.updateLanguage}>Change Language</button>;
}
}
export default LanguageSwitcher; …Run Code Online (Sandbox Code Playgroud)