【发布时间】:2020-05-08 14:30:35
【问题描述】:
我遇到了一些问题。我有很重的具有多种状态的 JSX 元素。在应用程序的另一部分,我需要将此元素传递给模态窗口并保持所有状态。解决此问题的最佳解决方案是什么?当然,我可以将所有状态设为 Parent 并将其传递给 Child。但也许可以冻结所有状态并将 JSX Element 作为独立组件传递?
结构如下:
ParentElement
|_
AnotherElement
|_
SomeHeavyElement
父元素:
const ParentElement= () => {
return (
<React.Fragment>
<AnotherElement />
<SomeHeavyElement />
</React.Fragment>
);
};
export default ParentElement;
另一个元素:
const AnotherElement= () => {
return (
<React.Fragment>
<dialog>
<SomeHeavyElement/>
</dialog>
</React.Fragment>
);
};
export default AnotherElement;
一些重元素
const SomeHeavyElement= () => {
const [state1, setState1] = useState(true);
...
const [state99, setState99] = useState(false);
return (
<React.Fragment>
{/*some logic*/}
</React.Fragment>
);
};
export default SomeHeavyElement;
【问题讨论】:
标签: javascript reactjs typescript clone next.js