以下のようなコンテキストで言語設定があります
class LanguageProvider extends Component {
static childContextTypes = {
langConfig: PropTypes.object,
};
getChildContext() {
return { langConfig: 'en' };
}
render() {
return this.props.children;
}
}
export default LanguageProvider;
私のアプリケーションコードは以下のようなものになります
<LanguageProvider>
<App>
<MyPage />
</App>
</LanguageProvider>
マイページには言語を切り替えるコンポーネントがあります
<MyPage>
<LanguageSwitcher/>
</MyPage>
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;
LanguageSwitcher コンポーネント内からコンテキストを更新するにはどうすればよいですか?