gpt4 book ai didi

javascript - React 从生成的子组件访问父方法

转载 作者:行者123 更新时间:2023-11-30 21:18:57 27 4
gpt4 key购买 nike

我是 React 的新手,所以我不知道我想要的东西是否可行。

考虑以下 React 组件:

export default class BBCode extends Component {
render () {
return (
<div>
{parser.toReact(this.props.content.content)}
</div>
)
}
}

我正在使用一个库,该库将包含 bb 代码的字符串呈现给 html 标签,在某些情况下还会呈现 React 组件。这是由函数 {parser.toReact} 完成的。

我想通过 parser.toReact 函数生成的任何组件访问此组件中的方法。

有没有办法将 prop 传递给此函数,然后将其应用于生成的任何组件?

最佳答案

您可以使用 React.cloneElement 为 child 附加额外的 Prop .假设 parse.toReact 返回一个字符串数组或 React 元素,您可以克隆每个元素并将回调添加为附加 Prop :

export default class BBCode extends Component {
render () {
// every React element will receive `myCustomCallback` as a prop
const elements = parser
.toReact(this.props.content.content)
.map(elem => React.isValidElement(elem)
? React.cloneElement(elem, {
myCustomCallback: this.myCustomCallback
})
: elem
);

return (
<div>
{elements}
</div>
)
}
}

关于javascript - React 从生成的子组件访问父方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45379065/

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