React有个神器叫做value,用这货就能让选项“动起来”。然后,还有个更牛的e.target.value,能把被选中的选项的值送到咱的状态里面去!知道这些小秘密了?
你没想过如何用React搞定选框选择吧?这其实不难!你只需要用value就能操控它。然后用e.target.value去处理选中的数值,传到state里面。只要跟this.state.sex一样,那个option就变亮。这是不是挺牛逼的?
男 女
聊到多个组件状态管理,告诉你们个小妙招。在React里头,用name属性区别每一个组件的状态。再搞个函数来调节它们的状态,so easy~
对了对,还有个事儿得问问你~如果有两个零件都要用同一个值的话,那咋整呢?能不能给点儿妙招儿啊?
updateForm(e){ let name=e.target.name; //获取组件的name let value=e.target.value; //获取组件的值value this.setState({ [name]:value //为不同name的组件设置value }) }
让我给你说哈咋回事儿!在React里,你不能直接把state传给某些组件,因为只有创建它的那部分才能动它。所以,我们得把它往上“移位”到所有要用到该value的两层组件之间的父级组件那里去。然后,我们用props就可以发给子组件。这样一搞,这俩子组件就能同时用上那变量了!是不是挺6的样子?
我还想问问你,子组件咋能修改父组件的状态?这个挑战可不小!
我要告诉你个秘密!小部件可以用props属性调动老爹(父组件)的手法,把它的状态给改。这么做,俩部件就可以共用老爹那里的状态,厉害?
现在你已经学会怎么用React搞定模块选项挑拣和分享状态的小活了,这些小妙招肯定能让你制作React应用更加顺畅。别忘了多试几次,把它们牢牢记住,那么你的React之旅会越来越顺利!
这个文章有用么?有啥想问咱的?赶紧回复。如果觉得还行,别忘了点赞并分享给更多朋友!加油!
class Parent extends React.Component{ constructor(props){ super(props); this.state={ text:'' }; this.updateText=this.updateText.bind(this); } updateText(value){ this.setState({ text:value }) } render(){ return () } } class ChildInput extends React.Component{ constructor(props){ super(props); this.handleChange=this.handleChange.bind(this); } handleChange(e){ //在子组件的方法中调用父组件的updateInput更新text的值 this.props.updateInput(e.target.value); } render(){ return (
输入为:{this.props.text}
评论0