import {addTodo, removeTodo} from "@/store/action/todo"; import PropTypes from 'prop-types' import React, {FormEvent, useRef} from "react"; import {connect} from "react-redux"; import Header from "./Header"; function Home(props: any) { const {todo, add, remove} = props const inputRef = useRef(null); function addOne(e: FormEvent) { e.preventDefault() let text = inputRef.current!.value if (text) { inputRef.current!.value = "" add(text) } } return (
addOne(e)}>
{todo .map((v: ITodo) => { return

remove(v.id)} key={v.id}>{v.text}{v.id}

; })}
{[...Array(100)] .map((v, i) => i) .map(v => { return

v

})}
) } Home.propTypes = { todo: PropTypes.arrayOf(PropTypes.shape({ id: PropTypes.number.isRequired, text: PropTypes.string.isRequired }).isRequired).isRequired, add: PropTypes.func.isRequired, remove: PropTypes.func.isRequired } const mapStateToProps = (state: any) => { console.log(state) return { todo: state.todo } } const mapDispatchToProps = (dispatch: any) => ({ add: (text: string) => dispatch(addTodo(text)), remove: (id: string | number) => dispatch(removeTodo(id)), }) export default connect(mapStateToProps, mapDispatchToProps)(Home);