我在Reaction中创建了如下所示的函数. 我通常通过array.map进行渲染,但我以不同的方式进行了测试.
export async function layerCreate(id) {
const layerArea = document.getElementById("layerArea");
const layer = document.createElement("div");
layer.classList.add("layer");
await layerArea.append(layer);
const root = await createRoot(layer);
await root.render(<Layer id={id}/>);
}
此函数将一个新的react 元素附加到一个名为layerArea的空div.LayerArea使用useContext用一个名为GlobalProvider的值进行包装.
<GlobalProvider>
<div id="layerArea" className="layerArea"></div>;
</GlobalProvider>
当使用上面的函数在layerArea下添加一个Layer元素时,我try 通过Layer元素中的useContext调用GlobalProvider值.但其价值却是未定义的.
我想知道为什么不能通过createRoot在Provider子元素中创建的Reaction元素中使用Provider的值.