从父级传递事件到子级反应未定义

时间:2020-10-16 14:19:31

标签: javascript reactjs

父类组件:

toggleFunction = (event, ...otherProps) => {
    console.log(event) // EVENT GOT UNDEFINED
    console.log(otherProps) // THIS IS DISPLAYING WHAT IS NEED!
}

<Child updateFunction={(event) => this.toggleFunction(event,"PROPS-1","PROPS-2")}>

子功能组件:

const Child = ({ updateFunction }) => {
   ... OTHER CODE HERE
   <div onClick={() => updateFunction()}>Toggle</div>
}

我的问题是当我在父回调中创建事件并作为方法传递给子对象并在父类中执行父 toggleFunction 时。 只有事件未定义,其他道具才能正确显示

我找到了一个解决方案,方法是在子组件内部创建事件并在Parent组件内部进行访问,但这对我不起作用!谁能解释我的失败之处。

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要将事件从onClick传递到updateFunction

<div onClick={event => updateFunction(event)}>Toggle</div>

或者让onClick为您调用它,因为第一个参数是事件:

<div onClick={updateFunction}>Toggle</div>