Проблема с избыточностью не работает при нажатии кнопки - PullRequest
0 голосов
/ 04 октября 2019

Я новичок в Redux и изучал, как использовать его с React. По сути, я все сделал правильно с точки зрения настройки Redux с помощью приложения реакции, но когда я нажимаю на кнопку увеличения, я ожидаю, что показание счетчика увеличивается на единицу. Но когда я это делаю, ничего не происходит и, конечно, я проверял отправку и отправку действий, но в основном все в порядке. Поэтому мне действительно нужна ваша помощь, ребята, вот код, который я использую:

index.js

import React from "react";
import ReactDOM from "react-dom";
import "./index.css";
import App from "./App";
import registerServiceWorker from "./registerServiceWorker";
import { createStore } from "redux";
import reducer from "./store/reducer";
import { Provider } from "react-redux";

const store = createStore(reducer);
ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById("root")
);
registerServiceWorker();

reducer.js

const initialState = {
  counter: 0
};

const reducer = (state = initialState, action) => {
  if (action.type === "INCREMENT") {
    return { counter: state.counter + 1 };
  }

  return state;
};

export default reducer;

counter.js

import React, { Component } from "react";
import { connect } from "react-redux";

import CounterControl from "../../components/CounterControl/CounterControl";
import CounterOutput from "../../components/CounterOutput/CounterOutput";

class Counter extends Component {
  render() {
    return (
      <div>
        <CounterOutput value={this.props.ctr} />
        <CounterControl
          label="Increment"
          clicked={() => this.props.onIncrement}
        />
      </div>
    );
  }
}

const mapStateToProps = state => {
  return { ctr: state.counter };
};

const mapDispatchToProps = dispatch => {
  return {
    onIncrement: () => dispatch({ type: "INCREMENT" })
  };
};

export default connect(
  mapStateToProps,
  mapDispatchToProps
)(Counter);

1 Ответ

0 голосов
/ 04 октября 2019

Вы зарегистрировали свой редуктор в магазине?

Если нет, пожалуйста, сделайте это.

Я считаю, что эта вещь не должна возвращать строку:

const mapStateToProps = state => {
  return { ctr: state.counter };
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...