import { addTodo, removeTodo } from "@/store/action/todo" import React, { FormEvent, useRef, useContext } from "react" import { connect } from "react-redux" import Header from "./Header" export interface HomeProps { add(text: string): void todo: ITodo[] remove(id: number): void } function Home(props: HomeProps) { 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

})}
) } const mapStateToProps = (state: any) => { 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)