Попытка добавить возможность, когда пользователь добавляет элемент в таблицу, редактировать значения, когда они нажимают кнопку редактирования.
Код в разделе Изменить проект ниже в моем коде не работает. Я пытался найти кучу разных способов, как это сделать, но я все время терплю неудачу.
Есть идеи, как мне это легко сделать?
Ссылка на codesandbox .
MainCrud. js
import React, { useState } from "react";
import CrudIntro from "../crud/crudIntro/crudIntro";
import CrudAdd from "../crud/crudAdd/crudAdd";
import CrudTable from "../crud/crudTable/crudTable";
const MainCrud = props => {
// Initiazle project data
const projectData = [];
// Initial state for edit button's hidden state to be false
const [editBtn, setEditBtn] = useState(false);
// Initialize state of the project data above to 'projects'
const [projects, setProject] = useState(projectData);
// Add Project
const addProject = project => {
// Create new item with a unique ID
project.id = projects.length + 1;
// Take the current list, and add onto it via the spread operator
setProject([...projects, project]);
};
// Delete Project
const deleteProject = id => {
setProject(projects.filter(project => project.id !== id));
};
// Edit Project
const editProject = e => {
setEditBtn(true);
this.setState({
...this.state.name,
...this.state.description,
...this.state.date,
[e.target.name]: e.target.value
});
};
return (
<div>
<section id="add">
<CrudIntro title={props.title} subTitle={props.subTitle} />
<CrudAdd addProject={addProject} />
</section>
<section id="main">
<CrudTable
projectData={projects}
editProject={editProject}
deleteProject={deleteProject}
/>
</section>
</div>
);
};
export default MainCrud;