React Redux - Dispatch检索输入值

时间:2016-04-16 11:31:55

标签: javascript reactjs dispatch react-redux

我有以下React视图/渲染功能:

let BaseSalaryView = ({ counter, onChange }) => (
    <div>
        <input type="text"
            placeholder="Annual Salary"
            value={counter}
            onChange={() => onChange(counter)} />
        <span>Try: {counter}</span>
    </div>
)

我试图找出如何将刚改变的值传入我的onChange调度处理程序。

尝试

我尝试了以下内容,但它们都未定义。

onChange={() => onChange(this.input.value)}> 
onChange={() => onChange(input.value)}> 
onChange={() => onChange(value)}> 

其余代码

const mapDispatchToProps = (dispatch) => {
    return {
        onChange: (counter) => {
            dispatch(baseSalaryChange(counter)) // Need the input v alue here
        }
    }
}

export function baseSalaryChange(baseSalary) {
  return { type: BASE_SALARY_CHANGED, baseSalary }
}

调用操作,但coutner始终设置为初始值。

1 个答案:

答案 0 :(得分:6)

经过2个小时的挣扎,OMG在我发布问题后2分钟,我想出来了。

需要在onChange的内联函数中引入一个参数,该函数将设置为刚刚发生的event。然后我可以从那里访问event.target

onChange={(event) => onChange(event.target.value)} />