setData
には配列を渡す必要があるので
js
1setData([...data, {何かしらのデータ}]);
これが正しいと思います。
追記
useState([])で受け取ったdataという変数の型がObject型になってる
コメントで上記の指摘をいただいたのですが、
同じような処理をするコードを書いたところuseState
で受け取るdata
は配列のようでした(setData([...data, ...sample])
が正常動作しているため)。
js
1import { useState } from 'react';
2
3// 追加されるであろう想定のデータ
4const sample = [
5 {
6 foo: "foo",
7 hoge: "hoge"
8 }
9]
10
11const Sample = () => {
12 const [data, setData] = useState([]);
13 return (
14 <div className="App">
15 <p>{data.length}</p>
16 <button onClick={() => {
17 setData([...data, ...sample])
18 }}>
19 data追加
20 </button>
21 </div>
22 );
23}
24
25export default Sample;
その上でなのですが、setData
以外でdata
が破損してしまうような処理を挟んでないでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/15 06:57 編集
2021/04/15 07:06
2021/04/15 07:20
2021/04/15 07:41
2021/04/15 07:55 編集
2021/04/15 08:02
2021/04/15 08:16
2021/04/15 08:21
2021/04/15 08:44 編集
2021/04/15 09:16
2021/04/15 13:20