想象一下,呈现多个iframe(使用react-frame-component)并允许用户对它们进行重新排序。
令人惊讶的是,当iframe被重新排序时,其中一个的<body>变为空。
我提出了一个问题,here,但不知道这里的人是否也能够提供帮助,因为最近在回购上没有太多的活动。
function App() {
const [frames, setFrames] = useState(["first", "second"]);
return (
<div className="app">
<div className="framesContainer">
{frames.map(frame => (
<div className="frame" key={frame}>
<Frame style={{ width: 200, height: 200 }}>
<h1>Hello World</h1>
</Frame>
<div>{frame}</div>
</div>
))}
</div>
<div className="actions">
<button
onClick={() => {
setFrames(frames => [frames[1], frames[0]]);
}}
>
Swap frames
</button>
</div>
</div>
);
}单击该按钮后,first iframe的<body>变为空。
发布于 2021-03-25 12:25:29
在使用react-dnd / react-beautiful-dnd进行多个iframe重新排序和排序时,我也遇到了同样的问题。
我发现的唯一方法是在orders状态更新时强制iframe组件重新呈现。然而,当所有iframe同时更新时,应用程序可能会非常慢。
https://stackoverflow.com/questions/62867710
复制相似问题