Если вам нужно какое-либо объяснение, или это не то, о чем вы спрашиваете, пожалуйста, прокомментируйте мой ответ
Краткий ответ:
в массиве обязательно всегда одно и то же имя ключа (мод или модули), используйте 1 из них (скажем, модули)
, затем go для каждого компонента и удаляйте мод из него (даже если он находится в подпорках) или рендер)
Длинный ответ:
ОК, так что проблема, которую вы имеете, передается неопределенной 1) вы получили этот массив и сохранили его в состоянии (компонент приложения)
this.state={
itemList : [
{
key: 'Her sports',
modules: [{ label: 'BaseBall', value: 'checked' }, { label: 'Volleyball' }]
},
{
key: 'His sports',
mod: [{ label: 'Soccer' }, { label: 'Football' }]
}
]
}
2) вы передаете этот массив (Component1)
Component1.props.itemList
ДО СЕЙЧАС ВСЕ ХОРОШО, НО ЗАДАЧА НАЧИНАЕТСЯ С ЗДЕСЬ
3) вы перебираете itemList (из реквизитов Component1) и берете из него (mod, modules) для каждого элемента в Component2, например:
itemList [0] имеет модули, но не имеет mod (не определено)
itemList [1] имеет мод, но не имеет модулей (не определено)
4) Вы передаете их (мод, модули) из Компонента 2 в Компонент 3 (не забывайте, что мы не определили)
5) в Компоненте 3, вы перебираете (мод, модули), используя карту, так что вы говорите как
undefined. карта (.....) и поэтому вы получаете ошибку