在数组中添加多个值

时间:2020-04-14 06:57:48

标签: javascript reactjs

在我的应用程序中,在React中我遇到下一种情况: 我输入的内容是,当我单击save时会添加不同的值。输入的值从字符串转换为数组。 因此,第一次添加文本时,我单击了保存,并且数组中有1个值。 第二次,我添加另一个文本,然后单击“保存”,第一个值将每秒更改一次。 我在这种状态下存储值:

const [value, setValue] = useState([here comes my value]);

我想一个接一个地连接值,而我做到了:

useEffect(()=> {
    setAllValues([...value, value])
  }, [value])

..但这不起作用。如何将所有值存储在一个数组中?

2 个答案:

答案 0 :(得分:3)

使用setState中的functional form

 setAllValues(prevValue => [...prevValue, newValue])

答案 1 :(得分:1)

要执行该操作,您需要两个状态

// one state for array
const [valueArray, setValueArray] = useState([here comes my value]);

// and another state for string
const [value, setValue] = useState('');


// then onSave function
const onSave = () => {
  setValueArray([  ...valueArray, value ]);
  setValue('');
}