有很多直接更改上下文的示例-例如:
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处理程序中,我想更新上下文变量。 使用此示例,我将如何从OnChange Handler或实际上从诸如componentDidMoount等任何函数
中调用updateUsername
我进行了搜索,但到目前为止,仍未找到任何可能提示如何完成此操作的信息。
答案 0 :(得分:0)
在React中使用上下文,您通常希望在更新状态时使用化简器,化简器允许您分派重复改变状态的动作。不要直接更新状态,它被视为反模式。 我想在此添加评论,但是我的名声不允许我这样做,请问这不能解决您的问题。
答案 1 :(得分:0)
我终于能够自己解决这个问题。关闭。