我正在尝试呈现数组中的值列表,然后可以对其进行过滤以显示搜索结果。代码如下所示:
const { contacts, filteredContacts } = contactContext;
const contactsRef = useRef(contacts);
useEffect(() => {
if (filteredContacts !== null) {
contactsRef.current.value = filteredContacts;
} else {
contactsRef.current.value = contacts;
}
}, [filteredContacts]);
return (
<Fragment>
{contactsRef.current.value &&
contactsRef.current.value.map(contact => (
<ContactItem key={contact.id} contact={contact}></ContactItem>
))}
</Fragment>
);
当前行为该列表是仅当我在搜索框中键入内容时才会呈现该列表 - 因此更新filteredContacts 值,而不是在初始呈现时。
预期行为contactsRef应该使用属性初始化并.current.value在组件加载时呈现。
我是新来的反应,所以请善待:)