Параметр ownProps в mapStateToProps() и mapDispatchToProps() позволяет тебе получить доступ к пропсам, которые передаются прямо в подключённый компонент. Это даёт возможность делать функции селекторов и диспетчеров динамичными в зависимости от пропсов конкретного компонента.
Когда ты передаёшь пропсы в подключённый компонент, React Redux автоматически пробрасывает эти пропсы в твои функции маппинга как параметр ownProps. Например:
import ConnectedComponent from './containers/ConnectedComponent';
<ConnectedComponent user={'john'} />
Внутри твоих функций маппинга ownProps будет выглядеть так:
{ user: 'john' }
ownProps полезен в нескольких случаях:
const mapStateToProps = (state, ownProps) => {
return {
userData: state.users[ownProps.user]
};
};
const mapDispatchToProps = (dispatch, ownProps) => {
return {
updateUser: (data) => dispatch(updateUser(ownProps.user, data))
};
};
Использование ownProps в твоих функциях маппинга может повлиять на производительность и мемоизацию, так как твои селекторы будут пересчитываться каждый раз, когда меняются пропсы. Используй эту возможность осознанно — только в тех случаях, когда поведение компонента по-настоящему зависит от конкретных пропсов.
Параметр ownProps автоматически содержит все пропсы, переданные напрямую в подключённый компонент, позволяя функциям маппирования получать доступ к этим пропсам и использовать их для динамического поведения селекторов.
Новый — ещё не проверен сообществом
Вы