【发布时间】:2021-10-26 04:14:39
【问题描述】:
很确定我错过了一些关于 React 的基本知识。
代码如下:
export function EditTagsModal({existingTags}) {
console.log('existingTags', existingTags);
const [selectedTags, setSelectedTags] = React.useState(existingTags);
console.log('selectedTags:', selectedTags);
...
}
在父组件中,<EditTagsModal /> 的使用方式如下:
{tags && <EditTagsModal existingTags={tags} /> }
这是如何下降的:
-
existingTags以['hello']开头 -
setSelectedTags正在做它的事情。 -
selectedTags现在是['hello', 'world', 'world']。 - 然后我将标签发送到服务器,关闭模态,父级重新渲染。
- 现在服务器返回的
tags是['hello', 'world'],没有重复。 - 事情是这样的:现在我再次打开模式,我仍然在
selectedTags(在上面的第二个console.log)中看到我的值,它有重复项,而不是tags(第一个console.log ) 来自我的服务器。
反应怎么了?
【问题讨论】:
标签: reactjs react-hooks use-state