首页 > 解决方案 > 无法在反应 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;

标签: node.jsreactjs

解决方案


找到您要更新的项目,然后根据需要设置新项目。您已经实现了删除功能,这与它类似。只需使用 id 找到您要编辑的项目并设置您想要的内容。


推荐阅读