У меня есть такой Component
в Redux
:
const BaseFamilyDetail = React.memo(({ family, individuals, editCaseReview, compact, ...props }) =>
family &&
<div>
<Family
family={family}
compact={compact}
{...props}
/>
{!compact && <ShowReadsButton familyGuid={family.familyGuid} igvId={family.familyGuid} padding="0.5em 0 1.5em 0" />}
<FamilyVariantReads igvId={family.familyGuid} />
{individuals && individuals.map(individual => (
<IndividualRow
key={individual.individualGuid}
family={family}
individual={individual}
editCaseReview={editCaseReview}
/>),
)}
</div>,
)
BaseFamilyDetail.propTypes = {
family: PropTypes.object.isRequired,
editCaseReview: PropTypes.bool,
individuals: PropTypes.array,
compact: PropTypes.bool,
}
const mapStateToProps = (state, ownProps) => ({
family: getFamiliesByGuid(state)[ownProps.familyGuid],
individuals: ownProps.showIndividuals ? getSortedIndividualsByFamily(state)[ownProps.familyGuid] : null,
})
export const FamilyDetail = connect(mapStateToProps)(BaseFamilyDetail)
Обычно без проверки выше family &&
он вылетает, потому что family
это undefined
. Но в Chrome
при отладке (открытии консоли отладки) происходит сбой NOT
и family &&
не требуется. Почему так происходит? Redux
обновляет свои компоненты по-другому? Где мы можем найти описание этого другого поведения?