gpt4 book ai didi

javascript - 组件的高阶函数过滤方法

转载 作者:行者123 更新时间:2023-11-30 20:54:59 24 4
gpt4 key购买 nike

我这里有一个generateBtn方法,我也用了Auth作为HOC

@Auth
export default class MyComponent extends Component {
generateBtn(){ return <button>Submit</button> }
render(){
return(<div>hello world {this.generateBtn()}</div>)
}
}

在我的授权中我有这个

export default function Auth(WrappedComponent) {
return class WithAuth extends Component {

render() {
// how to filter generateBtn method?
return <WrappedComponent />
}
}
}

但是如何过滤掉generateBtn方法呢?

最佳答案

如果我理解正确你的问题,你可以检查包装组件中的自定义 Prop :

@Auth
export default class MyComponent extends Component {
generateBtn(){
return <button>Submit</button>
}

render(){
return (
<div>
hello world { this.props.hasAuth && this.generateBtn() }
</div>
)
}
}

并根据 HOC 的逻辑传递该 prop:

export default function Auth(WrappedComponent) {
return class WithAuth extends Component {

render() {
// You'll have some way of knowing if authentication was
// correct here, let's hardcode `false` for now
const authenticated = false

return <WrappedComponent hasAuth={ authenticated } />
}
}
}

关于javascript - 组件的高阶函数过滤方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47765344/

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