我在React JS中使用使用效果挂钩渲染了一个组件(Typescript)。但是,在这种情况下,我遇到了这个错误,您能帮我吗?
const gifBoxsRefs = useRef(new Array())
const [clickedGIFBoxIndex, setClickedGIFBoxIndex] = useState(-1)
const [isGIFBoxOpen, setIsGIFBoxOpen] = React.useState(() => [].map((x) => false));
useClickOutside({ current: gifBoxsRefs.current[clickedGIFBoxIndex] }, () => {
const newVisibilities = [...isGIFBoxOpen];
newVisibilities[clickedGIFBoxIndex] = false;
setIsGIFBoxOpen(newVisibilities);
})
const hanldeGIFBoxOpenBtn = (index: any) => {
const newVisibilities = [...isGIFBoxOpen];
newVisibilities[index] = !newVisibilities[index];
setIsGIFBoxOpen(newVisibilities);
setClickedGIFBoxIndex(index)
};
useEffect(() => {
const gigBox = gifBoxsRefs.current[clickedGIFBoxIndex]
if (gifBoxsRefs.current.length > 0) {
if (isGIFBoxOpen[clickedGIFBoxIndex]) {
let root = createRoot(gigBox! as HTMLElement);
root.render( //**** Here I am getting this error***********
<React.StrictMode>
<GIFs />
</React.StrictMode>
)
gigBox?.classList.replace('hidden', 'absolute')
}
else { gigBox?.classList.replace('absolute', 'hidden') }
}
else { gigBox?.classList.replace('absolute', 'hidden') }
}, [isGIFBoxOpen])
const gifBoxsRefs = useRef(new Array())
const [clickedGIFBoxIndex, setClickedGIFBoxIndex] = useState(-1)
const [isGIFBoxOpen, setIsGIFBoxOpen] = React.useState(() => [].map((x) => false));
useClickOutside({ current: gifBoxsRefs.current[clickedGIFBoxIndex] }, () => {
const newVisibilities = [...isGIFBoxOpen];
newVisibilities[clickedGIFBoxIndex] = false;
setIsGIFBoxOpen(newVisibilities);
})
const hanldeGIFBoxOpenBtn = (index: any) => {
const newVisibilities = [...isGIFBoxOpen];
newVisibilities[index] = !newVisibilities[index];
setIsGIFBoxOpen(newVisibilities);
setClickedGIFBoxIndex(index)
};
useEffect(() => {
const gigBox = gifBoxsRefs.current[clickedGIFBoxIndex]
if (gifBoxsRefs.current.length > 0) {
if (isGIFBoxOpen[clickedGIFBoxIndex]) {
let root = createRoot(gigBox! as HTMLElement);
root.render( //**** Here I am getting this error***********
<React.StrictMode>
<GIFs />
</React.StrictMode>
)
gigBox?.classList.replace('hidden', 'absolute')
}
else { gigBox?.classList.replace('absolute', 'hidden') }
}
else { gigBox?.classList.replace('absolute', 'hidden') }
}, [isGIFBoxOpen])
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论