Прослушивание изменений значения ReactContext в приложениях - PullRequest
0 голосов
/ 18 мая 2019

Я пытался использовать API ReactContext, где конечный компонент (внутренний) пытается отправить сообщение корневому компоненту (приложение). В приведенном ниже примере Val и функция, используемая для обновления Val, предоставляются с использованием контекста. Проблема здесь заключается в том, что componentDidUpdate () не вызывается в приложении, даже если щелкнуть Click me.

class App extends React.Component {
  static contextType = ThemeContext;

  componentDidUpdate() {
    console.log("update", this.context.val);
  }

  render() {
    return (
      <MyProvider>
        <Inner />
      </MyProvider>
    );
  }
}

class Inner extends React.Component {
  static contextType = ThemeContext;

  render() {
    return <div onClick={() => this.context.load(1234)}>Click me</div>;
  }
}

Я добавил только соответствующий код выше. Вот пример codesandbox для этого примера. Я ожидаю, что componentDidUpdate будет вызываться в приложении при нажатии Click Me. По сути, я ищу способ слушать изменения контекста в компоненте приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...