我有一系列要渲染的组件,但是我不知道如何向每个组件发送道具。你有什么想法吗?我还使用formik进行表单管理,并且页面组件由基本输入组成。
const pages = [<Page1 />, <Page2 />, <Page3 />, <Page4 />]
我以这种方式渲染它们:
<div>{pages[state]}</div>
有两种选择可以实现此目的:
选项1:在声明站点上,可以在初始化数组时传递状态。
const pages = [<Page1 props={page1Prop: 'value'}/>,
<Page2 props=page2Props />,
<Page3 props=page3Props />,
<Page4 props=page4Props />]
或者,如果您不希望或无法更新声明,则可以在渲染时通过:
选项2:克隆组件道具并应用新道具
...
render() {
return (
<div>
{React.cloneElement(pages[currentPage] propsForPage[currentPage])}
OR
{React.cloneElement(pages[currentPage] {someProp:'value'})}
</div>
);
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句