Ответ 1
Вы можете изменить значение null
на undefined
, чтобы использовать значение по умолчанию.
<Component bedrooms={bedrooms || undefined} />
Или используйте этот mixin: https://github.com/jarsbe/null-default-props
У меня есть реквизиты по умолчанию в моем компоненте React:
PropertyTitleLabel.defaultProps = {
bedrooms: 1,
propertyType: 'flat'
};
PropertyTitleLabel.propTypes = {
bedrooms: PropTypes.number,
propertyType: PropTypes.string
};
Но когда я прохожу от null
до bedrooms
как:
const bedrooms = null; // in real world API returns `null`
<Component bedrooms={bedrooms} />
Он не заменяется по умолчанию prop:( Любые идеи?
Вы можете изменить значение null
на undefined
, чтобы использовать значение по умолчанию.
<Component bedrooms={bedrooms || undefined} />
Или используйте этот mixin: https://github.com/jarsbe/null-default-props
Я думаю, что существует различие между null
и undefined
, которое делается при работе с defaultProps
. Значение null
может быть предназначено для поведения и, следовательно, не заменяется вашими значениями по умолчанию, а undefined
не будет и будет заменено.
Как указано в документах
[...] используется для обеспечения того, что this.props.value будет иметь значение, если он не был указан родительским компонентом.
Вот связанная проблема.