Вам не нужно передавать все реквизиты один за другим. Вы можете использовать оператор распространения, чтобы передать все реквизиты одновременно:
<List myProp={myProp} {...rest} />
Это отправит один реквизит myProp
, а все остальные реквизиты существуют в rest
реквизитах.
Или вы можете передать все реквизиты:
<List {...props} />
В компоненте ListItem
:
const { myOtherProp1, myOtherProp2 } = props
<ListItem myOtherProp1={myOtherProp1} myOtherProp2={myOtherProp2} />
Кроме того, вы можете передать реквизиты по умолчанию, которые вы считаете необходимыми для компонента:
List.defaultProps = {
myOtherProp3: 'My default prop 3'
myOtherProp10: 'My default prop 10'
}
Таким образом, вы пропускаете все реквизиты, но используете их, когда вам нужно их использовать.
Чтобы ответить на ваш точный вопрос:
Нет. Там не будет никакого удара производительности. Там нет предела реквизита. Вы можете передать столько, сколько хотите. Принимающий компонент получит все реквизиты из одного источника props
.