次の JSON の ListItems というコンポーネントを作成しました。このコンポーネントは、地域データと郊外データの間で共有されます。
Region 1 と Region 2 (両方とも郊外が 2 つある) を選択すると、問題なく動作します。ただし、10 の郊外があるリージョン 3 を選択するとすぐに、undefined is not an object (evaluating 'arrs[index].isChecked') エラーがスローされます。console.log(arrs) を実行すると、以前に選択したリージョンの状態が保持されます。地域の選択が変更されたときに、状態のarrsをリセットするにはどうすればよいですか? 古い状態の配列の長さを維持しています。
ここでスナックを作成しました: https://snack.expo.dev/@everestster/listitem-component
どんな助けでも大歓迎です。
[
{
id: 1,
name: 'Project 1',
regions: [
{
id: 1,
name: 'Region 1',
type: 'region',
itemsCount: 200781,
suburbs: [
{
id: 1,
name: 'Suburb 1',
type: 'suburb',
itemsCount: 120,
},
{
id: 2,
name: 'Suburb 2',
type: 'suburb',
itemsCount: 120,
},
],
},
{
id: 2,
name: 'Region 2',
itemsCount: 149814,
type: 'region',
suburbs: [
{
id: 3,
name: 'Suburb 3',
type: 'suburb',
itemsCount: 1,
},
{
id: 4,
name: 'Suburb 4',
type: 'suburb',
itemsCount: 1,
},
],
},
{
id: 3,
name: 'Region 3',
type: 'region',
itemsCount: 230711,
suburbs: [
{
id: 5,
name: 'Suburb 5',
type: 'suburb',
itemsCount: 1417,
},
{
id: 6,
name: 'Suburb 6',
type: 'suburb',
itemsCount: 54,
},
{
id: 101,
name: 'Suburb 101',
type: 'suburb',
itemsCount: 34,
},
{
id: 102,
name: 'Enmore',
type: 'suburb',
itemsCount: 6579,
},
{
id: 103,
name: 'Subutb 103',
type: 'suburb',
itemsCount: 1730,
},
{
id: 104,
name: 'Suburb 104',
type: 'suburb',
itemsCount: 9443,
},
{
id: 105,
name: 'Suburb 105',
type: 'suburb',
itemsCount: 1730,
},
{
id: 105,
name: 'Hornsby',
type: 'suburb',
itemsCount: 14418,
},
{
id: 106,
name: 'Suburb 106',
type: 'suburb',
itemsCount: 1620,
},
{
id: 107,
name: 'Suburb 107',
type: 'suburb',
itemsCount: 14418,
},
],
},
{
id: 4,
name: 'Region 4',
type: 'region',
itemsCount: 120852,
suburbs: [
{
id: 7,
name: 'Suburb 7',
type: 'suburb',
itemsCount: 1,
},
{
id: 8,
name: 'Suburb 8',
type: 'suburb',
itemsCount: 1,
},
],
},
{
id: 5,
name: 'Region 5',
type: 'region',
itemsCount: 234840,
suburbs: [
{
id: 9,
name: 'Suburb 9',
type: 'suburb',
itemsCount: 1,
},
{
id: 10,
name: 'Suburb 10',
type: 'suburb',
itemsCount: 1,
},
],
},
],
},
{
id: 2,
name: 'Project 2',
regions: [
{
id: 11,
name: 'Region 11',
type: 'region',
suburbs: [],
},
{
id: 12,
name: 'Region 12',
type: 'region',
suburbs: [],
},
],
},
{
id: 3,
name: 'Project 3',
regions: [],
},
{
id: 4,
name: 'Project 4',
regions: [],
},
{
id: 5,
name: 'Project 5',
regions: [],
},
];