首页 > 解决方案 > 如何在 React 中更新数组的对象

问题描述

有人可以帮我解决这个问题。我有一个显示以下项目的列表。

 const items = useMemo(() => {
        return [
            {
                value: test1,
                label: test1,
                selected: false,
            },
            {
                value: test2,
                label: test2,
                selected: false,
            },
        ];
    }, []);


const [selectedItems, setSelectedItems] = useState([]);

这就是我呈现列表的方式

const renderList = useCallback(({ id, value, selected }, idx) => {
        return (
            <div onClick={() => myFunc(value)} className='item'>
                <div className={selected ? 'item-value' : 'item-highlight'}>{value}</div>
            </div>
        );
    }, []);

这就是我获得选定项目的方式。

 let myFunc = (selectedVal) => {
        if (! selectedItems.includes(selectedVal)) {
            setSelectedItems((prevState) => [...prevState, selectedVal]);
        }
    };

如何使从项目列表中选择的项目选择值为真。

标签: reactjsreact-hooksuse-state

解决方案


推荐阅读