Javascript 为什么不是';我的输入值不能用React更新吗?
我的组件中有以下代码。当我更新某些东西时,它会被调用,从而替换UI中的一些东西。除用户看到的输入值外,所有内容都在更新Javascript 为什么不是';我的输入值不能用React更新吗?,javascript,reactjs,Javascript,Reactjs,我的组件中有以下代码。当我更新某些东西时,它会被调用,从而替换UI中的一些东西。除用户看到的输入值外,所有内容都在更新 let input = { id: 'discount-' + geo + '-' + segment, value: percentage, disabled: applyToAll, placeholder: '0.00' }; cells.push( <td key={'cell-' + geo + '-' + segment} classNa
let input = {
id: 'discount-' + geo + '-' + segment,
value: percentage,
disabled: applyToAll,
placeholder: '0.00'
};
cells.push(
<td key={'cell-' + geo + '-' + segment} className="discount-segment cfix">
<Text {...input} />
</td>
);
让输入={
id:'折扣-'+geo+'-'+段,
值:百分比,
禁用:applyToAll,
占位符:“0.00”
};
推(
);
这就是
返回的内容,为了清晰起见,删除了一些内容
return (
<div className={containerClasses.join(' ')} id={'field-container-' + id}>
{label}
<input
autoComplete="off"
type="text"
id={id}
ref="input"
{...extraProps}
name={id}
className={classes.join(' ')}
defaultValue={this.props.value}
onChange={this.props.onChange}
/>
</div>
);
返回(
{label}
);
一切都很好。假设百分比
值在开始时为5
,它将在字段中显示5
。然后我做一些其他的事情,将百分比更新为50。(控制台日志将在重新渲染时显示正确的编号)。但是,该值仅在UI中显示5
。我在输入字段中使用了defaultValue
,但我认为随着整个过程从父对象重新呈现,这应该会发生变化
编辑
更新了
以设置值
,而不是默认值
。但是,当用户输入时,我需要使用状态
来更新值。然后,当我重新渲染时,我会发送具有适当值的新道具,但道具当然不会更新。第二十二条军规