В Reactjs, как я могу передать два реквизита, один из которых — массив

#reactjs

#reactjs

Вопрос:

Я пытаюсь передать два реквизита дочернему компоненту следующим образом:

 <CountData onchoiceChange={[{value: 1, label: A}]} selectedGroup ={"GrpA"} /> 
 

И поскольку onchoiceChange является jsonarray, это может быть что-то вроде:

 [{value: 1, label: A},{value: 2, label: B}]
 

и если я передам реквизит, подобный приведенному выше,
в моем дочернем функциональном компоненте

 export default function CountData(onchoiceChange,selectedGroup) {
 

мое значение становится

-onchoiceChange.onchoiceChange
-onchoiceChange.selectedGroup

и моим желаемым является только -onchoiceChange amp; -selectedGroup

спасибо, если кто-нибудь может помочь

Ответ №1:

Ваш компонент получает один параметр, который является объектом, содержащим реквизиты вашего компонента. Следовательно, вы можете разрушить его таким образом, чтобы получить доступ к нужному объекту:

 export default function CountData({onchoiceChange,selectedGroup}) { ... }
 

Вы также можете уничтожить объект props другим способом, который эквивалентен, более подробный, но более понятный:

 export default function CountData(props)   {
    const {onchoiceChange,selectedGroup} = props
}
 

Если вам непонятно, как работают реквизиты в React, я предлагаю вам ознакомиться с официальной документацией

И если вы хотите узнать больше о деструктурировании, вы можете прочитать эту статью, например.