このようなことをしようとしています:
//コンポーネント1
toggleDropdown() {
setState({open: !open}
}
render () {
return (
ChildComponent toggle={this.toggleDropdown} />
)
}
次に、子コンポーネントで、次のような別の関数でそのtoggleDropdown関数を呼び出したいと思います。
// This gets triggered on click.
removeItem() {
// remove scripts then:
this.props.toggleDropdown()
}
このようなことができると思いましたが、要素に対してのみprop関数を呼び出すことができるようです。
子コンポーネントに渡す小道具には名前が付けられてtoggle
おり、名前が付けられていないtoggleDropdown
ため、removeItemコンポーネントでそのように呼び出す必要があります。
// This gets triggered on click.
removeItem() {
this.props.toggle()
}
あなたがする必要があるかもしれない他のことは、またはremoveItem
を使用してあなたの関数をバインドすることですbind
arrow functions
constructor(props) {
super(props);
this.removeItem = this.removeItem.bind(this);
}
または
// This gets triggered on click.
removeItem = () => {
this.props.toggle()
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加