Существует множество примеров непосредственного изменения контекста, например:
export class UserProvider extends React.Component {
updateUsername = newUsername => {
this.setState({ username: newUsername });
};
state = {
username: "user",
updateUsername: this.updateUsername
};
}
Затем в Потребителе:
<input
id="username"
type="text"
onChange={event => {
updateUsername(event.target.value);
}}
/>
Но мой обработчик onChange является функцией, и в этом обработчике OnChange я хочу обновить контекстную переменную. Используя этот пример, как бы я вызвал updateUsername
из обработчика OnChange или даже из любой функции, такой как componentDidMoount и т. Д.
Я искал, но пока не смог найти ничего, что могло бы дать представление о том, как этого добиться.
2 ответа
Используя Context в React, вы обычно хотите иметь редукторы при обновлении состояния, редукторы позволяют вам отправлять действия, которые изменяют состояние многократно. Не обновляйте состояние напрямую, оно считается анти-паттерном. Я хотел добавить этот комментарий, однако моя репутация пока не позволяет мне этого делать, извините, если это не решит вашу проблему.
Я наконец смог решить это сам. Закрыто.
Похожие вопросы
Новые вопросы
reactjs
React — это библиотека JavaScript для создания пользовательских интерфейсов. Он использует декларативную парадигму на основе компонентов и стремится быть эффективным и гибким.