Javascript 为什么不是';我的输入值不能用React更新吗?

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

我的组件中有以下代码。当我更新某些东西时,它会被调用,从而替换UI中的一些东西。除用户看到的输入值外,所有内容都在更新

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
,但我认为随着整个过程从父对象重新呈现,这应该会发生变化

编辑 更新了
以设置
,而不是
默认值
。但是,当用户输入时,我需要使用
状态
来更新值。然后,当我重新渲染时,我会发送具有适当值的新道具,但道具当然不会更新。第二十二条军规