Реакция не повторная рендеринг после обновления состояния Redux - PullRequest
0 голосов
/ 26 ноября 2018

Мое значение inputValue сбрасывается в 0 после вызова addAmount.Я вижу, что хранилище обновляется до 0 с помощью инструментов приставки, однако мое входное значение не сбрасывается до 0. Я знаю, что изменяющееся состояние реакции / приведения является распространенной проблемой, но я просто не могу разобраться.

Я вырезал код из-за почтовых ограничений.

Редуктор

case actions.RESET_INPUT_VALUE:
          return {
            ...state,
            inputValue: action.payload
          };
        default:
          return state;
      }};

Действия

export const resetInputValue = value => ({
  type: actions.RESET_INPUT_VALUE,
  payload: value
});

Реагирующий компонент

class TheBox extends Component {
  constructor(props) {
    super(props);
    this.state = { value: 0 };

    this.handleChange = this.handleChange.bind(this);
  }
  addAmount = e => {
    e.preventDefault();
    const addToTotal =
      this.props.state.dayIntakeAmount + this.props.state.inputValue;
    this.props.onAddAmount(addToTotal, this.props.state.date);
    this.props.onResetInputValue(0);
    console.log(this.props.state.inputValue);
  };

  handleChange = e => {
    this.props.onInputChange(e.target.value);
  };


              <form onSubmit={this.addAmount}>
                <Input
                  type="number"
                  required
                  name="inputValue"
                  value={this.props.state.inputValue}
                  onChange={this.handleChange}
                  suffix="ml"
                />

                <Button
                  success
                  type="submit"
                  disabled={this.props.state.inputValue <= 0}
                >
                  ADD
                </Button>
              </form>


const mapStateToProps = state => ({
  state
});

const mapDispatchToProps = dispatch => ({
  onAddAmount: (amount, date) => dispatch(plusIntakeAmount(amount, date)),
  onInputChange: value => dispatch(onInputChange(value)),
  onResetInputValue: value => dispatch(resetInputValue(value))
});

export default connect(
  mapStateToProps,
  mapDispatchToProps
)(TheBox);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...