gpt4 book ai didi

reactjs - 'HTMLElement | null' 类型的参数不能分配给 'Element' 类型的参数。类型 'null' 不可分配给类型 'Element' .ts(2345)

转载 作者:行者123 更新时间:2023-12-04 04:27:58 65 4
gpt4 key购买 nike

我有 index.html

<body>
<div id="portal"></div>
<div id="root"></div>
</body>
并希望在单独的 portal div 中使用以下组件比 root div ,
import React from 'react';

const portalDiv = document.getElementById('portal');

function Portal1(props) {
return ReactDOM.createPortal(
<div>
{props.children}
<div/>,
portalDiv); //here
}

export default Portal1;
但我收到此错误, 'HTMLElement | 类型的参数null' 不可分配给类型为 'Element' 的参数。
类型 'null' 不可分配给类型 'Element'。ts(2345)
在 VScode 中。
我正在使用 typescript 。请帮忙。

最佳答案

getElementById可能返回 null。所以你只需在使用之前简单地检查一下:

function Portal1({ children }) {
return portalDiv ? ReactDOM.createPortal(<>{children}</>, portalDiv) : null;
}

关于reactjs - 'HTMLElement | null' 类型的参数不能分配给 'Element' 类型的参数。类型 'null' 不可分配给类型 'Element' .ts(2345),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63520680/

65 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com