У меня есть приложение реакции (с redux и response-router), которое в разные моменты должно знать, вошел ли пользователь в систему, в зависимости от состояния некоторых данных в магазине и множества других вещей, связанных с данными в магазине. .
Для этого я создал компонент более высокого порядка, например:
import React from 'react';
import {connect} from 'react-redux';
export function masterComponent(Component){
class MasterComponent extends React.Component {
constructor(props){
super(props);
}
loggedIn(){
return this.props.player.token? true : false
}
render(){
return (
<Component {...this.props} player={{loggedIn: this.loggedIn()}}/>
);
}
}
UserComponent.propTypes = {
player: React.PropTypes.object
};
function mapStateToProps(state) {
return state;
}
return connect(
mapStateToProps
)(MasterComponent);
}
Мой вопрос в том, как лучше всего обернуть это вокруг моих отдельных компонентов? В настоящее время я реализовал это так, что каждый отдельный компонент обертывается при передаче для подключения, что работает нормально, но кажется немного неэффективным. то есть:
import {masterComponent} from '../HigherOrderComponents/MasterComponent';
export class ResultsPage extends React.Component {
constructor(props){
.....
}
render(){
return (
.....
);
}
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(masterComponent(ResultsPage));
Есть лучший способ сделать это?