Javascript 输入标记的value属性是DOM的一部分吗?

Javascript 输入标记的value属性是DOM的一部分吗?,javascript,reactjs,dom,Javascript,Reactjs,Dom,我有一些默认值,应该传递给输入的value属性,所以这将是受控组件。我需要知道的是,我应该在哪里初始化状态,在constructor中,在这里输入代码或componentDidMount?我发现,componentDidMount是需要DOM节点进行初始化的正确位置。这就是为什么我要问值属性。正如您所说的组件安装是初始化的正确位置,但是正是为了满足需要在渲染后在浏览器中进行DOM节点测量的需求,例如宽度或高度(这里您可以出于某种目的使用元素的宽度) 因此,在您的情况下(我的意思是input),不

我有一些默认值,应该传递给输入的value属性,所以这将是受控组件。我需要知道的是,我应该在哪里初始化状态,在
constructor
中,在这里输入代码或
componentDidMount
?我发现,
componentDidMount
是需要DOM节点进行初始化的正确位置。这就是为什么我要问值属性。

正如您所说的
组件安装
是初始化的正确位置,但是正是为了满足需要在渲染后在浏览器中进行DOM节点测量的需求,例如宽度高度(这里您可以出于某种目的使用元素的宽度)

因此,在您的情况下(我的意思是input),不需要在
componentDidMount
中设置值

因此,只需使用构造函数即可


希望这有帮助。

使用
ref
获取
的值,更新
状态
并初始化
此.inputRef.current.value
。这是问题的有效解决方案

类应用程序扩展了React.Component{
建造师(道具){
超级(道具);
this.inputRef=React.createRef();
此.state={
inputValue:'这是应用程序组件'
}
}
componentDidMount(){
this.inputRef.current.value=this.state.inputValue;
}
按键处理程序=(事件)=>{
如果(event.key=='Enter')
this.setState({inputValue:this.inputRef.current.value});
}
render(){
返回(
键入文本并按enter键
this.keypressHandler(事件)}/> {this.state.inputValue}

); } } ReactDOM.render(,document.getElementById('root'))