Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在reactjs中获取下拉输入的默认值_Javascript_Reactjs_Ecmascript 6_Jsx - Fatal编程技术网

Javascript 如何在reactjs中获取下拉输入的默认值

Javascript 如何在reactjs中获取下拉输入的默认值,javascript,reactjs,ecmascript-6,jsx,Javascript,Reactjs,Ecmascript 6,Jsx,我正在尝试获取下拉输入字段的默认值,因为我将其用于添加和更新。下面是我的代码 setDefaultValue=(值,选项)=>{ 让matchedLabel=options.find(el=>el.value==value); 如果(值!=“O”){ this.setState({viewReason:false}) } 返回[{value,label:matchedLabel.label}] } 错误: 无法在现有状态转换期间更新(例如在渲染中)。渲染方法应该是道具和状态的纯函数 理想情

我正在尝试获取下拉输入字段的默认值,因为我将其用于添加和更新。下面是我的代码


setDefaultValue=(值,选项)=>{
让matchedLabel=options.find(el=>el.value==value);
如果(值!=“O”){
this.setState({viewReason:false})
}
返回[{value,label:matchedLabel.label}]
}
错误:

无法在现有状态转换期间更新(例如在
渲染中)。渲染方法应该是道具和状态的纯函数


理想情况下,在
render
中设置
prop
值时,应该只使用
get
方法

setDefaultValue
中,您使用的是
setState
,它将变得无效,这就是您的错误所在您必须将其移动到另一个逻辑。 若要使其按原样工作,请按如下方式使用:(此处对代码进行注释,只是为了显示错误部分,您可以删除此代码)


理想情况下,在
render
中设置
prop
值时,应该只使用
get
方法

setDefaultValue
中,您使用的是
setState
,它将变得无效,这就是您的错误所在您必须将其移动到另一个逻辑。 若要使其按原样工作,请按如下方式使用:(此处对代码进行注释,只是为了显示错误部分,您可以删除此代码)


这个错误是不言自明的。看起来您正在render方法中调用setDefaultValue,该方法更新组件状态。尝试提供一个默认的“值”,并在下拉列表中添加一个“onChange”处理程序。错误是不言自明的。看起来您正在render方法中调用setDefaultValue,该方法更新组件状态。尝试提供一个默认的“值”,并在下拉列表中添加一个“onChange”处理程序。
setDefaultValue = (value, options) => {
    let matchedLabel = options.find(el => el.value === value);
    // if (value !== "O") {
    //     this.setState({ viewReason: false }) // you can't use setState in render
    // }
    return [{ value, label: matchedLabel.label }]
}