当用户将项目添加到购物车时,我正在尝试更新项目上的购物车按钮.
我在React.js中构建了网站的一部分 - 比如购物车,购物车按钮等.
configureStore.js:
export default function configureStore(initialState) {
const store = createStore(
reducers,
initialState
return store
}
Run Code Online (Sandbox Code Playgroud)
行动:
export function updateCart(payload) {
return {
type: CART_UPDATE,
payload: payload
}
}
Run Code Online (Sandbox Code Playgroud)
减速器:
export default function cart(state = {}, action) {
switch (action.type) {
case CART_UPDATE:
const cart = {
data: action.payload.cart,
errors: action.payload.errors,
isFetching: false
};
return {
...state,
...cart
};
return state;
}
Run Code Online (Sandbox Code Playgroud)
CartButton.js
... componnent etc.
function mapStateToProps(state) {
return {
cart: state.cart.data
};
}
export default connect(mapStateToProps)(CartButton);
Run Code Online (Sandbox Code Playgroud)
提供商
import configureStore from './store/configureStore'
var store = configureStore();
ReactDOM.render((<Provider store={store}><Cart showControls={true} /></Provider>), document.getElementById('react-cart'));
Run Code Online (Sandbox Code Playgroud)
我正在调度一个应该从非反应组件更新购物车数量的操作,如下所示:
// imports
import { dispatch } from 'redux';
import { updateCart } from '../../actions/cart_actions';
import configureStore from '../../store/configureStore'
var store = configureStore();
Run Code Online (Sandbox Code Playgroud)
然后..
store.dispatch(updateCart(response));
Run Code Online (Sandbox Code Playgroud)
该行动被分派和状态更新.推车按钮组件通过连接.react-redux connect()函数.但不知何故,它没有使用新数量更新组件.
当我从我的购物车React组件中发出一个动作时,它工作正常.
我可能会遗漏一些明显的东西.有什么建议?
| 归档时间: |
|
| 查看次数: |
10183 次 |
| 最近记录: |