reactjs - onChange 在哪里将参数传递给它的处理程序
问题描述
使用下面的代码
<div className="input-first-line-right">
<Input
type="textarea"
label="Project Description"
onChange={this.handleDescChange}
value={this.state.projectDescription}
/>
</div>
handleDescChange = text => {
if (!text) return;
this.setState({ projectDescription: text });
};
如果handleDescChange 期待一个参数“文本”,它为什么永远不会通过。意思是为什么不是代码
onChange={this.handleDescChange("some new text")}
为了使功能正常工作。如果没有任何东西传递给它,代码如何固有地知道参数是什么。
解决方案
对于onChange
属性,this.handleDescChange
这里不调用。在这里,this.handleDescChange
作为回调给出。this.handleDescChange
触发更改事件时调用输入组件。
如果你想传递一个变量,你可以使用胖箭头函数。下面给出解决方案。
<div className="input-first-line-right">
<Input
type="textarea"
label="Project Description"
onChange={event => this.handleDescChange(event.target.value)}
value={this.state.projectDescription}
/>
</div>
handleDescChange = text => {
if (!text) return;
this.setState({ projectDescription: text });
};
推荐阅读
- windows - CultureInfo 的 NumberFormat.PercentPositivePattern 在我的 Windows 10 机器上已更改
- typescript - 将泛型分配给 rest 参数并具有可选/默认参数
- api - Flutter FutureBuilder 返回空数据
- machine-learning - 我应该如何将 Keras 的 ImageDataGenerator 的预处理参数与数据增强参数分开
- c++ - 使用 memory_order_relaxed 如何在典型架构上保证原子变量的修改总顺序?
- r - 可以在 R 中的地图上覆盖线图吗?
- java - 重启 Spring Boot 应用程序
- javascript - 用 Javascript 创建数组,带键
- c# - DataTable to XML File 存储在内存中并允许用户下载 XML
- arrays - hive - 是否可以从 Map 创建列