我有以下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始终设置为初始值。
答案 0 :(得分:6)
需要在onChange的内联函数中引入一个参数,该函数将设置为刚刚发生的event
。然后我可以从那里访问event.target
:
onChange={(event) => onChange(event.target.value)} />