当我将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
}
}
}