gpt4 book ai didi

javascript - React Higher Order Component - 从包装器组件调用包装组件中的函数

转载 作者:搜寻专家 更新时间:2023-11-01 04:35:08 26 4
gpt4 key购买 nike

假设我使用的是正确的模式,我希望能够调用 someFunc() - 在里面<Home/> - 从内部 <Wrapper/> .见下文:

var Home = React.createClass({
someFunc() {
console.log('How can I call this from <Wrapper/>?')
},
render() {
return <h1>Hello World</h1>
}
})

var Wrapper = (Home) => {
return React.createClass({
render() {
return <Home {...this.props}/>
}
})
}

var HomeWrapped = Wrapper(Home)

ReactDOM.render(<HomeWrapped/>, document.getElementById('root'))

更新了解决方案:https://codepen.io/oldgithub/pen/qPOZEj

最佳答案

您可以为此使用 ref:

var Wrapper = (Home) => {
return React.createClass({
render() {
return (
<div>
<button onClick={() => {this.home.someFunc()}} />
<Home
{...this.props}
ref={(c) => this.home = c;}
/>
</div>
);
}
})
}

关于javascript - React Higher Order Component - 从包装器组件调用包装组件中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46255968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com