TodoList.js 1.11 KB
Newer Older
mayi's avatar
mayi committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
import React from "react";

import { connect } from "react-redux";
const TodoList = (props) => {
  let { inputValue, inputChange, addItem, list, del } = props;

  return (
    <div>
      <input value={inputValue} onChange={inputChange} />
      <button onClick={addItem}>提交</button>
      <ul>
        {list.map((item, index) => {
          return (
            <li onClick={() => del(index)} key={index}>
              {item}
            </li>
          );
        })}
      </ul>
    </div>
  );
};

const mapStateToProps = (state) => {
  return {
    inputValue: state.inputValue,
    list: state.list,
    // name:state.nameValue
  };
};
const dispatchTpProps = (dispatch) => {
  return {
    inputChange(e) {
      let action = {
        type: "inputChange",
        value: e.target.value,
      };
      dispatch(action);
    },
    addItem() {
      let action = {
        type: "addItem",
      };
      dispatch(action);
    },
    del(index) {
      let action = {
        type: "del",
        index,
      };
      dispatch(action);
    },
  };
};

export default connect(mapStateToProps, dispatchTpProps)(TodoList);