Forms 在状态更改时不重新启动组件

Forms 在状态更改时不重新启动组件,forms,reactjs,state,render,Forms,Reactjs,State,Render,我在另一个组件中渲染以下表单组件两次。问题是,当我在其中一个渲染表单中输入值时,它不会更新另一个表单的占位符。如何在状态更改后重新渲染组件以使两个窗体具有相同的占位符值 这是一把小提琴: import React,{Component}来自'React'; 类LengthForm扩展了组件{ 建造师(道具){ 超级(道具) 此.state={ 长度:1 }; } 手变(活动){ this.setState({length:event.target.value}); } render(){ 返回(

我在另一个组件中渲染以下表单组件两次。问题是,当我在其中一个渲染表单中输入值时,它不会更新另一个表单的占位符。如何在状态更改后重新渲染组件以使两个窗体具有相同的占位符值

这是一把小提琴:

import React,{Component}来自'React';
类LengthForm扩展了组件{
建造师(道具){
超级(道具)
此.state={
长度:1
};
}
手变(活动){
this.setState({length:event.target.value});
}
render(){
返回(
);
}
}
导出默认长度表;

我想您刚刚错过了用您的状态值初始化输入(输入的value属性)。这将触发重新渲染

<input name="length" onChange={this.handleChange.bind(this)} 
   type="integer" placeholder={this.state.length}
   value={this.state.length} />

你需要使用Redux…尝试一下。没有更改。代码中的另一个问题是构造函数。你应该首先设置道具
constructor(props){super(props);this.state={length:1};}
它们在我的代码中,但我在编写示例时忘记了。我们可以看看您的实际代码吗?否则很难帮助您好吧,您有两个组件实例。没有共同的父母。他们是孤立的。如果希望有一个状态同时管理这两个状态,则需要一个公共父级或使用复杂的状态管理(如Redux)。
<input name="length" onChange={this.handleChange.bind(this)} 
   type="integer" placeholder={this.state.length}
   value={this.state.length} />
constructor(props){ 
   super(props); 
   this.state = { length: 1 }; 
}