Я пытаюсь обновить корзину кнопку в проекте, когда пользователь добавляет элемент в корзину.Обновление Реакция компонента путем отправки от неактивного компонента
У меня есть построить части сайта в React.js - как телега, кнопка корзины и т.д.
configureStore.js:
export default function configureStore(initialState) {
const store = createStore(
reducers,
initialState
return store
}
Действие:
export function updateCart(payload) {
return {
type: CART_UPDATE,
payload: payload
}
}
Редуктор:
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;
}
CartButton.js
... componnent etc.
function mapStateToProps(state) {
return {
cart: state.cart.data
};
}
export default connect(mapStateToProps)(CartButton);
Provider
import configureStore from './store/configureStore'
var store = configureStore();
ReactDOM.render((<Provider store={store}><Cart showControls={true} /></Provider>), document.getElementById('react-cart'));
Я диспетчерская действие, которое, как предполагается обновить количество корзины из не реагируют компонент, как это:
// imports
import { dispatch } from 'redux';
import { updateCart } from '../../actions/cart_actions';
import configureStore from '../../store/configureStore'
var store = configureStore();
, а затем ..
store.dispatch(updateCart(response));
действие отправляется и состояние обновляется. Компонент корзины подключается через. реакция-редукция connect(). Но почему-то это не обновление компонента с новым количеством.
Когда я отправляю действие из моей корзины, он работает нормально.
Возможно, мне не хватает чего-то очевидного. Какие-либо предложения?
Вы абсолютно _sure_, что вы вызываете отправку в _same_ 'store', который передается вашему' '? –
rossipedia
Как рассказывал россипедия, вы создавали экземпляр только одного магазина или несколько раз называли 'createStore'? – VonD
Я уверен, что я использую тот же магазин. Я обновил более подробные фрагменты кода. Я не понимаю, почему он не обновляется. Как я упоминаю в сообщении; количество в CartButton.js обновляется, когда я обновляюсь из компонента Cart.js. –