在纯ES2015函数中对"setState"的反应方式

Los*_*les 5 reactjs redux react-redux

在这里反应newb.我有一个返回表单(表示组件)的纯函数.在这种形式中,我需要为受控制的文本字段处理onChange事件.FWIU,我需要在我的onChange事件处理程序中使用this.setState(...).但是由于这是一个纯函数,我无法访问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>
)
Run Code Online (Sandbox Code Playgroud)

Che*_*aks 9

这是一个无状态函数,没有可设置的状态

如果您正在使用redux,您可能希望在onChange中触发redux操作,将新值作为参数传递,并让操作在redux存储中更新firstName的值 person.firstName

我建议看看redux-form以减少一堆样板