Quería saber si de alguna manera puedo modificar mi código para usar solo Redux en mi aplicación; se trata de editar el elemento. No sé cómo hacerlo sin hacer mi estado que determina si el formulario de edición se muestra o no, tampoco sé si de alguna otra manera puedo proporcionar el elemento en el que se hizo clic en lugar de hacer setChosenItem . ¿Es posible hacerlo en Redux limpio?
import { connect } from "react-redux"; import {useEffect, useState} from "react"; import {editTodo} from "../actions/TodoActions" import {Field, Form, Formik} from "formik"; import {v4 as uuidv4} from "uuid"; const TodoList = ({todos,editTodo}) => { const [shouldEdit,setShouldEdit] = useState(false) const [chosenItem,setChosenItem] = useState({}) useEffect(() => { console.log(chosenItem) }) return ( <div> {shouldEdit && ( <div> <h3>Todo edit: </h3> <Formik initialValues={{ id: chosenItem.id, name: chosenItem.name, date: chosenItem.date, done: chosenItem.done }} onSubmit={(values) => {editTodo(values); setShouldEdit(!shouldEdit)}} enableReinitialize={true}> <Form> <Field name="name" /> <Field name="date" /> <button type="submit"> Zatwierdz </button> </Form> </Formik> </div> )} {todos.map(todo => (<div>{todo.name} <button onClick={() => {setShouldEdit(!shouldEdit);setChosenItem(todo)}}>Edit</button></div>))} </div> ) } const mapStateToProps = (state) => { console.log(state) return { todos: state.todos }; } const mapDispatchToProps = { editTodo } export default connect(mapStateToProps,mapDispatchToProps)(TodoList);