レデューサーにステートメントを入れるconsole.log('test')
と、アクションが呼び出されたときにコンソールでそれらを見ることができます。しかし、コンソールにreduxの「NEXT STATE」/「PREV STATE」が表示されません。
私が見逃している基本的なものはありますか?
以下のコードでは、実際の機能を実現しようとしているのではなく、redux をセットアップしてコンソールで状態の変化を確認しようとしているだけです (したがって、正しいパスにいることがわかります)。
容器
import React, { PropTypes } from 'react-native';
import Header from './Header';
import { connect } from 'react-redux';
import { leave } from './actions';
import { join } from './actions';
const mapStateToProps = (state) => {
return {
in: state.in
}
}
const mapDispatchToProps = (dispatch) => {
return {
join: (id) => {
dispatch(join(id))
},
leave: (id) => {
dispatch(leave(id))
}
}
}
export default connect(mapStateToProps, mapDispatchToProps)(Header);
レデューサー
export default function Header(state = { in: false }, action = {}) {
switch (action.type) {
case 'LEAVE':
return {
...state,
in: false
}
case 'JOIN':
console.log(state);
console.log(action);
console.log('join');
return {
...state,
in: true
}
default:
return state;
}
}
行動
export const join = (id) => {
return {
type: 'JOIN',
payload: {
in: true
}
}
}
export const leave = (id) => {
return {
type: 'LEAVE',
payload: {
in: false
}
}
}