node.js - 无法在反应 js 中更新注释
问题描述
任何人都可以帮助我解决代码意味着如何编辑笔记中的文本任何人都可以帮助我。我已经放了所有代码,我需要编辑代码我不知道如果有人得到代码那么请帮助我,以便我可以进一步理解和实施它还告诉我我必须准备新文件或编辑这个文件为我完成了这项工作。如果它在其中完成,那么请如何给我正确的信息谢谢
从这里忽略与流行的看法相反,Lorem Ipsum 不仅仅是随机文本。它起源于公元前 45 年的一部古典拉丁文学作品,距今已有 2000 多年的历史。弗吉尼亚州汉普登-悉尼学院的拉丁语教授理查德·麦克林托克从 Lorem Ipsum 的一篇文章中查找了一个比较晦涩的拉丁语单词 consectetur,并通过在古典文学中对该词的引用,发现了无可置疑的来源。Lorem Ipsum
应用程序.jsx
import React, { useState } from "react";
import Header from "./Header";
import Footer from "./Footer";
import Note from "./Note";
import CreateArea from "./CreateArea";
function App() {
const [notes, setNotes] = useState([]);
function addNote(newNote) {
setNotes(prevNotes => {
return [...prevNotes, newNote];
});
}
function deleteNote(id) {
setNotes(prevNotes => {
return prevNotes.filter((noteItem, index) => {
return index !== id;
});
});
}
return (
<div>
<Header />
<CreateArea onAdd={addNote} />
{notes.map((noteItem, index) => {
return (
<Note
key={index}
id={index}
title={noteItem.title}
content={noteItem.content}
onDelete={deleteNote}
/>
);
})}
<Footer />
</div>
);
}
export default App;
注意.jsx
import React from "react";
import DeleteIcon from "@material-ui/icons/Delete";
function Note(props) {
function handleClick() {
props.onDelete(props.id);
}
return (
<div className="note">
<h1>{props.title}</h1>
<p>{props.content}</p>
<button onClick={handleClick}>
<DeleteIcon />
</button>
<button>
Edit
</button>
</div>
);
}
export default Note;
创建区域.jsx
import React, { useState } from "react";
import AddIcon from "@material-ui/icons/Add";
import Fab from "@material-ui/core/Fab";
import Zoom from "@material-ui/core/Zoom";
function CreateArea(props) {
const [isExpanded, setExpanded] = useState(false);
const [note, setNote] = useState({
title: "",
content: ""
});
function handleChange(event) {
const { name, value } = event.target;
setNote(prevNote => {
return {
...prevNote,
[name]: value
};
});
}
function submitNote(event) {
props.onAdd(note);
setNote({
title: "",
content: ""
});
event.preventDefault();
}
function expand() {
setExpanded(true);
}
return (
<div>
<form className="create-note">
{isExpanded && (
<input
name="title"
onChange={handleChange}
value={note.title}
placeholder="Title"
/>
)}
<textarea
name="content"
onClick={expand}
onChange={handleChange}
value={note.content}
placeholder="Take a note..."
rows={isExpanded ? 3 : 1}
/>
<Zoom in={isExpanded}>
<Fab onClick={submitNote}>
<AddIcon />
</Fab>
</Zoom>
</form>
</div>
);
}
export default CreateArea;
解决方案
找到您要更新的项目,然后根据需要设置新项目。您已经实现了删除功能,这与它类似。只需使用 id 找到您要编辑的项目并设置您想要的内容。
推荐阅读
- java - 分而治之的递归矩阵乘法
- python-3.x - 当我尝试使用 Flask rest API 上传文件时,我得到:上游过早关闭连接,同时从上游读取响应标头,客户端
- python - 如何制作动态静态属性?
- node.js - 它发送了 4 倍的会员数量
- swift - 快速蒸汽叶环
- docker - 将 DDEV 数据库挂载到主机文件系统,而不是在 docker 卷内
- python - 如何在固定接近度内获取单词周围的所有单词
- python - https 连接超时导致的 AWS Lambda 函数持续时间峰值
- c++ - 构造函数不初始化类元素
- javascript - 如何为玩家分配 2 位数的唯一 ID