Reaction-native: Как я могу обновить состояние в контексте API? - PullRequest
0 голосов
/ 17 мая 2019

Когда я обновляю состояние в другом компоненте, я не могу повторно обработать провайдера в ContextProvider.js, и, следовательно, данные о потребителе не изменяются.

ContextProvider.js

export const AppContext = React.createContext({basketNumber:0});
export class ContextProvider extends React.PureComponent {
  state = {
      basketNumber:0,
  };

  render() {
    return (
      <AppContext.Provider value={this.state}>
        {this.props.children}
      </AppContext.Provider>
    );
  }
}

в другом компоненте я называю это:

import { AppContext } from './../../../components/ContextProvider';

export default class Example extends React.PureComponent  {
   static contextType = AppContext;
}

в example классе, я могу позвонить basketNumber

this.context.basketNumber

Но как мне его обновить?

Я пробовал это:

this.context.basketNumber = 10;

// EDIT

Я добавляю этот код к провайдеру контекста:

addNumber(number) {
    this.setState({basketNumber:id});
};

и попробуйте назвать его в example классе:

this.context.addNumber(10);

Но я получаю эту ошибку:

_this.context.addNumber - это просто функция

1 Ответ

0 голосов
/ 18 мая 2019

Для обновления значения контекста.

Оформить заказ здесь Динамический контекст

Или вы можете пропустить функцию через контекст, чтобы обновить контекст.

Проверка здесь Обновление контекста из вложенного компонента

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