react-redux
で必要な定型文を減らすためにcreateScreen
というファクトリ関数を作成すると考えました。反応還元ボイラプレートを減らす方法 - 私はComponentFactoryを作成しようとしましたが、反応再現エラーが発生しました
それは次のようになります。
ParentScreenFactory.js何らかの理由で
export default function createScreen(stateActions = []) {
class ParentScreen extends React.Component {
}
function mapStateToProps(state) {
return {
...state,
};
}
function mapDispatchToProps(dispatch) {
const creators = Map()
.merge(...stateActions)
.filter(value => typeof value === 'function')
.toObject();
return {
actions: bindActionCreators(creators, dispatch),
dispatch,
};
}
return connect(mapStateToProps, mapDispatchToProps)(ParentScreen);
}
Child.js
const ParentScreen = createScreen([
routingActions,
authActions,
]);
class Child extends ParentScreen {
constructor(props) { // <-- error on this line
super(props);
}
render() {
return (
<View/>
);
}
}
export default Child;
しかし、私はundefined is not an object (evaluating 'context.store')
を取得します。 スタックトレース:
Connect(ParentScreen)
connect.js:129
_this.store = props.store || context.store;
コードのこの行です。 ここに明白な間違いがありますか? それ以外の定型コードをすべて減らす方法については、他にはありませんか?
ありがとうございます。
あなたのタイトルはあなたの質問とは完全に無関係です。エラーを修正し、最後に「どのように私が定型文を減らすことができますか」を投げる方法について質問します。 –