gpt4 book ai didi

javascript - 将 undefined 传递给 React setState 是错误的吗?

转载 作者:行者123 更新时间:2023-12-05 03:38:37 24 4
gpt4 key购买 nike

假设我在我的 React 组件上声明了以下状态:

const [selectedUsers, setSelectedUsers] = useState<IUser['id'][]>();

所述状态用作第三方 HTML 的值 <select /> (Ant Design)。

在我使用完 <select /> 之后我想清除它,我可以通过将值设置为 null 轻松地做到这一点或 undefined .

例如:

setSelectedUsers(null);
<select value={selectedUsers} /> // Is now null, no option is selected

但是,我无法通过 null作为 <select />由于选择组件上预期的 TS Prop 的值(value),因为它希望收到 <IUser['id'][] | undefined> .

即:

Type 'null' is not assignable to type 'string[] | undefined'.

鉴于上面的上下文,传递 undefined 有什么问题吗?到 React 状态?

即:

setSelectedUsers(undefined);

这是一个关于最佳实践的问题,因为如果我使用 undefined,上面的代码将完美运行。而不是 null .

最佳答案

undefined 作为值传递给 setState 是完全没问题的。状态的值,在您的例子中是 selectedUsers,可以是任何 JavaScript 类型。

undefined 是 JavaScript 中的“原始值”,因此是常规类型。在此处查找有关 JavaScript 类型的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#javascript_types

关于javascript - 将 undefined 传递给 React setState 是错误的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68896925/

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