Реквизиты по умолчанию хороши тем, что не нужно указывать все реквизиты при передаче их компоненту.Как следует из названия, оно позволяет вам установить хорошие значения по умолчанию для ваших реквизитов, которые будут использоваться даже в том случае, если переопределяющие значения не передаются. Пожалуйста, имейте в виду, что пропуская опора приведет киспользуется значение по умолчанию, в то время как с передачей значения NULL приведет к использованию значения NULL.
Дополнительная информация может быть найдена здесь .
Редактировать
Чтобы ответить на вопросы, заданные более четко:
Это возможно, потому что так работает React.Это встроенная функциональность для программиста и логическое удобство.
Для TestComponent
в вашем примере представьте, что он используется в другом компоненте.Если вы просто используете <TestComponent />
, компонент будет иметь значение food
["goatmeat","yam"]
.Однако вы всегда можете переопределить это по своему усмотрению, передавая другое значение для реквизита при его вызове.Например, вы можете использовать <TestComponent food={["cheese", "eggs", "cabbage"]}/>
.Это приведет к тому, что в данном случае компонент, имеющий значение food
, равное ["cheese", "eggs", "cabbage"]
.
, я также считаю целесообразным отметить, что он должен быть defaultProps
, а не defaultprops
, потому что яЯ уверен, что вопросы с заглавной буквы имеют значение, но если кто-то захочет исправить меня, я буду рад отредактировать этот пункт.