React Redux Ручка ввода - PullRequest
       0

React Redux Ручка ввода

0 голосов
/ 16 апреля 2020

Я пытаюсь обработать простое входное значение, используя response-redux, а затем пытаюсь отобразить его. Я знаю, как отобразить его, но я понятия не имею, как передать входное значение из компонента в магазин избыточных данных. Я искал в Интернете и ничего не нашел. Может кто-нибудь объяснить, как это сделать? Я совершенно новичок в реакции-редуксе

import React from "react";
import "./App.css";
import { connect } from "react-redux";
import { useState } from "react";
import { updateValue, addValue } from "./actions/inputActions";

function App(props) {
  const [value, setValue] = useState("");
  const handleChange = (e) => {
    setValue(e.target.value);
  };

  return (
    <div className="App">
      <form onSubmit={(value) => props.submitValue(value)}>
        <input onChange={handleChange} value={value} type="text" />
        <button type="submit">Add</button>
      </form>
      <h1>{props.value}</h1>
    </div>
  );
}
const mapStateToProps = (state) => {
  return {
    value: state.value,
  };
};
const mapDispatchToProps = (dispatch) => {
  return {
    submitValue: (e, value) => {
      e.preventDefault();
      dispatch(addValue(value));
    },
  };
};
export default connect(mapStateToProps, mapDispatchToProps)(App);

1 Ответ

0 голосов
/ 16 апреля 2020

Обновите вашу функцию onSubmit , указав значение, сохраненное в вашем местном штате, например:

<form onSubmit={(e) => {
  e.preventDefault();
  props.submitValue(value)
}}>
  <input onChange={handleChange} value={value} type="text" />
  <button type="submit">Add</button>
</form>

А ваша mapDispatchToProps функция будет выглядеть следующим образом:

const mapDispatchToProps = (dispatch) => {
  return {
    submitValue: (value) => {
      dispatch(addValue(value));
    },
  };
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...