response-intl: Как обновить дочерний компонент, не передавая "this.props.intl" - PullRequest
0 голосов
/ 17 января 2019

Когда я изменяю языковой объект, используя библиотеку intl из родительского компонента, мне нужно передать intl={this.props.intl} дочернему компоненту для обновления. Я использую FormattedMessage id="example" или this.props.intl.formatMessage({ id: "example" }). у меня есть цепочка родительских и дочерних компонентов. поэтому мне нужно передать intl в качестве реквизита в каждый дочерний элемент или какой-либо компонент, используя несколько раз. если мне нужно обновить дочерний компонент, то мне нужно передать intl в каждом дочернем компоненте. Мне нужно решение. я не хочу передавать this.props.intl в каждый дочерний компонент.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Рассмотрите возможность использования Context API . Если вы хотите поделиться чем-то общим для дерева компонентов, вы можете использовать это.

Также, пожалуйста, проверьте https://hackernoon.com/how-do-i-use-react-context-3eeb879169a2

0 голосов
/ 17 января 2019

Когда вам нужно пропустить реквизит через цепочку из нескольких дочерних элементов, используйте контекст.

Здесь - пример CodeSandbox.

Относительно того, когда и как использовать контекст, отметьте эту документацию.

...