gpt4 book ai didi

javascript - React 函数式组件与经典组件

转载 作者:行者123 更新时间:2023-11-27 22:35:07 27 4
gpt4 key购买 nike

查看docs关于功能组件与经典组件,如果您想创建一个允许您访问 this 的实例或者您想要生命周期方法,那么您似乎只需要经典组件。这是否意味着功能组件只能内部有渲染?如果它需要处理点击,它必须通过直接链接到其 props 的标记上的 onClick 监听器,并且没有办法通过 handleClick 函数吗?

const Type = ({onTypeClick, name}) => {
<li
onClick={onTypeClick.bind(null, name)}
>
{name}
</li>
}

VS

const Type = React.createClass({
handleClick (e) {
e.preventDefault()
this.props.onTypeClick(this.props.name)
},
render() {
return (
<li onClick={handleClick}>
{this.props.name}
</li>
)
}
})

最佳答案

无状态组件返回渲染函数的结果,但它只是一个函数,因此它可以访问闭包中的内容。

const handleClick = (e, props) => {
e.preventDefault()
props.onTypeClick(props.name)
}

const Type = props => {
// don't forget to return!
return (
<li onClick={event => handleClick(event, props)}>
{props.name}
</li>
)
}

关于javascript - React 函数式组件与经典组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39175856/

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