Javascript 反应-在下拉选择中将状态从子级传递到父级

Javascript 反应-在下拉选择中将状态从子级传递到父级,javascript,reactjs,state,react-props,Javascript,Reactjs,State,React Props,我正在制作一个基本的下拉选择器。当我意识到我正在设置父级和子级的状态时,我几乎让它正常工作了,所以我再次重构,试图简化它,并将大部分责任放在一个地方 我的逻辑在MyDropDown组件中,然后我有一个Header组件,然后是Main,它应该呈现所有内容 从“React”导入React; 类MyDropdown扩展了React.Component{ 渲染{ 让initialUsers=this.props.state.users; 让AlphapozeUsers=initialUsers .so

我正在制作一个基本的下拉选择器。当我意识到我正在设置父级和子级的状态时,我几乎让它正常工作了,所以我再次重构,试图简化它,并将大部分责任放在一个地方

我的逻辑在MyDropDown组件中,然后我有一个Header组件,然后是Main,它应该呈现所有内容

从“React”导入React; 类MyDropdown扩展了React.Component{ 渲染{ 让initialUsers=this.props.state.users; 让AlphapozeUsers=initialUsers .sorta,b=>{ 返回a.name>b.name; } .mapobj=>{ 回来 {obj.name} ; }; 返回{字母用户}; } }
导出默认MyDropdown 将值传递回父组件的最简单方法是通过回调

尝试定义一个onChange={this.onChange}并将其传递给主组件,如下所示:

从“React”导入React,{Component}; 导入“/Main.css”; 从“./components/MyDropdown”导入MyDropdown; 从“./components/UserHeader”导入UserHeader; 类主扩展组件{ 此.state={ 用户:null, } 构造器{ 超级作物; this.onChangeUser=this.onChangeUser.bindthis; } onChangeUsernewUser{ this.setState{user:newUser}; } 渲染{ 回来 选择一个用户:

我应该在这里得到下拉值:{this.state.user}

; } }
导出默认主;这起作用了。只是需要更改我应该在这里获得下拉值:{this.state.user}到{this.state.selectedUser}。还有一件事。。。你知道如何设置默认值吗?当我点击下拉列表中的某个内容时,它就工作了,但当它开始加载时,它就不工作了。谢谢,我已经编辑好了。您希望将defaultValue传递给您的。你应该从你的主组件传下来,或者你可以从MyDropdown组件传下来一个默认值。我似乎无法让它工作。。。所以在MyDropdown中,我在UserHeader中,在Main中也有,但这不可能是正确的…请记住,defaultValue是html元素的一个特殊属性,例如,当您在PolicyHeader上添加一个默认值时,您必须传递正确命名的prop-down,等等。如果您的“策略”处于顶部状态,请继续通过具有正确名称的道具将其传递给组件。明白了。到目前为止,我已经在父组件中:然后在中间组件UserHeader中;最后,在下拉组件defaultValue={this.props.user}