javascript - 如何在父组件中使用子组件的状态?

标签 javascript reactjs

我需要使用父组件中子组件内的状态值。

组件:

export default function Children(props) {

    const [data,setData] = useState('')

     const handleChange = (e) =>{
        e.preventDefault();
        setData({[e.target.name]:e.target.value});

     }
    return(
        <Component onChange={handleChange} name={props.name} label={props.name} variant="outlined" />
    );
};

这是父组件:

export default function Parent(){

    return(
        <div>
        <TextArea name="One"/>
        <TextArea name="Two"/>
        <TextArea name="Three"/>
        </div>
);}

最佳答案

您只能在父组件中拥有 stateonChange 处理程序。

export default function Splitter(){
    const [data,setData] = useState('')

    const handleChange = (name, value) =>{
        setData({[name]:value});
     }
    return(
        <div>
        <TextArea name="Nome" handleChange={handleChange}/> //Pass the change handler here
        <TextArea name="Test" handleChange={handleChange}/>
        <TextArea name="Local" handleChange={handleChange}/>
        </div>
);}

在子组件中调用父组件的函数,

export default function TextArea(props) {

     const handleChange = (e) =>{
        props.handleChange(e.target.name, e.target.value)
     }

    return(
        <CssTextArea onChange={handleChange} name={props.name} label={props.name} variant="outlined" />
    );
};

关于javascript - 如何在父组件中使用子组件的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59710720/

相关文章:

javascript - 使用下拉列表将样式添加到 D3 路径

javascript - 如何删除或过滤数组中的特定对象

javascript - 需要使用 mongoose 更新对象内的值

javascript - 如何在 iframe 中插入表格?

javascript - 如何在Word加载项启动时加载模板文件

reactjs - 为什么这两个 div 的呈现方式不同?

javascript - HTML + react : Radio button stuck on the one initially set as "checked"

reactjs - React - 将数据映射到映射函数期间形成的行

javascript - ReactJS中组件内部的函数

javascript: firebug 不允许在某些脚本中设置断点