react-intl:如何在不传递"this.props.intl"的情况下更新子组件



当我使用intl库从父组件更改语言对象时,我需要将intl={this.props.intl}传递给子组件进行更新。我正在使用FormattedMessage id="example"this.props.intl.formatMessage({ id: "example" })。我有一个父组件和子组件链。因此,我需要在每个子级或某个组件中多次将intl作为道具传递。如果我需要更新子组件,那么我需要在每个子组件中传递intl。我需要一个解决方案。我不想在每个子组件中传递this.props.intl。

当您必须通过多个子级的链传递道具时,请使用上下文。

下面是CodeSandbox示例。

关于何时以及如何使用上下文,请查看此文档。

考虑使用Context API,当您想要共享组件树的公共内容时,可以使用它。

还请检查https://hackernoon.com/how-do-i-use-react-context-3eeb879169a2

最新更新