reactjs - 我们可以将 setValue 直接传递给 onChange 而不是将其包装在回调函数中吗
问题描述
function Parent() {
const [value, setValue] = React.useState("");
function handleChange(newValue) {
setValue(newValue);
}
// We pass a callback to Child
return <Child value={value} onChange={handleChange} />;
}
function Child(props) {
function handleChange(event) {
// Here, we invoke the callback with the new value
props.onChange(event.target.value);
}
return <input value={props.value} onChange={handleChange} />
}
这是参考文章https://webomnizz.com/change-parent-component-state-from-child-using-hooks-in-react。我的问题是我们是否可以直接将 setValue 传递给子组件的 onChange?哪种方式是最佳实践?谢谢
function Parent() {
const [value, setValue] = React.useState("");
// We pass setValue directly to Child
return <Child value={value} onChange={setValue} />;
}
解决方案
第二个最好的方法
function Parent() {
const [value, setValue] = React.useState("");
// We pass setValue directly to Child
return <Child value={value} onChange={setValue} />;
}
推荐阅读
- markdown - Markdown:链接到标题包含“-”字符的文档间部分
- r - R获取组中第一个和最后一个元素的日期
- composer-php - TYPO3 类 Gpi\Controller\gpiController 不存在。反射失败
- php - 为 php-mime-mail-parser 问题安装 mailparse.dll
- javascript - 如何减少此代码的执行时间
- python - 在 Kivy.kv 文件中,我如何引用另一个类中的方法
- python - Python - 将类属性分配给变量
- oracle - Oracle Application Express 的 ORDS/FOP 设置所需的信息 (apex.oracle.com)
- pandas - 将多列中的列表合并到熊猫中的单列
- php - 在 Laravel 工作中查看