【问题标题】:Updating the object via PUT method通过 PUT 方法更新对象
【发布时间】:2022-11-18 12:16:54
【问题描述】:

我正在使用 MERN 堆栈创建待办事项应用程序。后端是 MongoDB 数据库。现在对于每个待办事项,都有一个查看详细信息按钮,可以查看有关该特定待办事项的更多信息。单击该按钮后,架构 viewDetails 中就有此属性,该属性最初保持为 false,但一旦我单击它,它应该使用 true 值更新 DB 并类似地切换。我可以在客户端更改对象值,但在后端,它仍然需要更新。我想用那个特定的待办事项发起一个 PUT 调用并在数据库中更新它。相同功能的代码如下: 这里的 listitems 中包含所有 todos 对象。

const [listItems, setListItems] = useState([]);
<button onClick={()=>handleClick(item._id)}>View Details</button>

const handleClick=(id)=>{
    const newTasks = [...listItems];
    newTasks.map((task)=>{
      if(task._id===id){
        task.viewDetails=!task.viewDetails;
      }
    });
    setListItems(newTasks);
       }
    

【问题讨论】:

    标签: javascript node.js reactjs mongodb express


    【解决方案1】:

    您可以使用 PUT 方法更新数据库中的对象。您可以使用 axios 库来发出 PUT 请求。

    const handleClick = (id) => {
        const newTasks = [...listItems];
        newTasks.map((task) => {
            if (task._id === id) {
                task.viewDetails = !task.viewDetails;
            }
        });
        setListItems(newTasks);
        axios.put(`http://localhost:5000/api/todos/${id}`, newTasks)
            .then(res => {
                console.log(res);
                console.log(res.data);
            })
            .catch(err => {
                console.log(err);
            })
    }
    

    【讨论】:

      猜你喜欢
      • 2020-12-24
      • 1970-01-01
      • 2022-11-28
      • 1970-01-01
      • 2013-11-16
      • 2017-12-26
      • 2021-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多