【发布时间】:2016-12-23 08:06:30
【问题描述】:
在这里反应 newb。我有一个返回表单(表示组件)的纯函数。在这种形式中,我需要为那些受控制的文本字段处理 onChange 事件。 FWIU,我需要 this.setState(...) 在我的 onChange 事件处理程序中。但是由于这是一个纯函数,我无法访问 this.setState()。有没有一种很好的方法可以在 ES2015 函数中设置这些 onChange 事件的状态?如果这有帮助,我也在使用 redux。示例代码:
import React, {PropTypes} from 'react'
const ApplicationForm = ({submitHandler, person}) => (
<form onSubmit={e => submitHandler(e)}>
<div>
<label htmlFor="firstName">First Name:</label>
<input type="text" name="firstName" onChange={e => setState(e.target.value)} value={person.firstName || ''}/>
</div>
...
</form>
)
【问题讨论】:
-
"无状态" == ...好吧,没有状态。操作是执行此操作的规范方法,例如,您可以将更改处理程序作为属性传递给
ApplicationForm或导入函数(我倾向于前者以便更容易测试)。不过,您可能仍想使用propTypes。一般来说,我还建议只传递您实际需要的属性,而不是触及对象
标签: reactjs redux react-redux