将变量从子组件传递到父组件

Posted

技术标签:

【中文标题】将变量从子组件传递到父组件【英文标题】:Passing a variable from Child component to Parent component 【发布时间】:2020-10-17 14:04:42 【问题描述】:

我没有从子组件的event => this.handleChange(event, index) 中获得index,我怀疑event 也没有到达。我不知道如何将其传递给父母。我曾尝试将其添加到孩子的props.onChange(event, index) 中,但没有奏效。我已经尽可能多地摆弄,但被卡住了。任何帮助将不胜感激!

家长:

 <Inputs hasInputs=hasInputs onSubmit=this.handleSubmit thoughtProp=this.state.thought onChange=event =>  this.handleChange(event, index)  />

孩子:


export const Inputs = (props) => 
    return (
        <form className="flex-item-main form" onSubmit=props.onSubmit>
        <div>
                    <h4>
                      <p className='inputsHeader'>Thoughts:</p>  
                    </h4>
                </div>
            <ol>
              props.thoughtProp.map((input, index) => (
                <Input type='text' key=index value=input onChange=props.onChange className='textInputs' />
              ))
               props.hasInputs ? (
                <input className='submitThoughts' type='submit' value='Submit Thought!' />
              ) : (
                null
              )
            </ol>
          </form>
    )

【问题讨论】:

【参考方案1】:

你还需要传递索引

在父级中

onChange=this.handleChange

在孩子身上

onChange=(e) => props.onChange(e, index)

【讨论】:

我收到错误props.onChange is not a function 你的父组件是类组件,你的子组件是函数组件吗? 没错,父类组件和子函数 嗯,这很奇怪,我使用我在答案codesandbox.io/s/confident-dust-cxk29?file=/src/App.js 中输入的相同的工作示例创建了这个代码框 你是对的,一定是别的东西。射击。唔。好的。回到绘图板。

以上是关于将变量从子组件传递到父组件的主要内容,如果未能解决你的问题,请参考以下文章

如何在Angular中将表单数据从子组件传输到父组件

如何使用双向数据绑定将数据从子组件传递到父组件?

将数据从子组件传递到父组件Angular4

React Hooks - 如何将道具从子组件传递到父组件?

如何将数据从子组件传递到父组件[Angular]

将数据从子功能组件传递到父组件 - React/Typescript