javascript - 功能 setState 失去对 event.target.value 的访问权限
问题描述
将对象传递给 setState 没有问题。但这是我在测试通过函数时所看到的:
class App extends React.Component {
// ...
update_input_field = input_event => {
console.log("input_event.target", input_event.target);
const update_state = (state_snapshot, props) => {
return {
input1: input_event.target.value
};
};
this.setState(update_state);
};
render() {
return (
<form action="">
<input
type="text"
value={this.state.input1}
onChange={e => this.update_input_field(e)}
/>
</form>
);
}
}
将匿名函数传递给 setState 会产生与上述代码相同的错误:
TypeError: Cannot read property 'value' of null
App.update_state
src/App.js:45
42 |
43 | const update_state = (state_snapshot, props) => {
44 | return {
> 45 | input1: input_event.target.value
46 | }
47 | };
48 |
有人能告诉我为什么代码无法访问当前代码示例中的状态变量(input1.target)吗?
我能够在 update_state 中记录目标值,但无论如何都会出错。因此,我认为问题在于该函数的返回。
解决方案
推荐阅读
- php - SMS发送并发现一些错误。如何解决这个问题
- postgresql - Postgres 锁定的行数是否超过提供的限制?
- python - 在 sympy 中使用求解函数时 python 中的内存错误
- c++ - 围绕 C++ 代码的 C 包装器的模拟框架
- excel - 如何在不重新输入公式的情况下在excel中自动更改文本编号?
- acumatica - 如何在新的维护屏幕中应用 PXForeignReference
- android - 抛出异常后,React-Native Android 虚拟设备菜单无法使用 Ctrl+M(在 Windows 上使用 expo SDK 构建)打开
- python - 在 Python 中的时间戳列表上与 np.trapz 集成
- assembly - x86 ASM div 分红寄存器占用
- mysql - 强大的机器能提高DELETE的性能吗?