Reactjs 使用相同的 ID 保存和更新相同的用户信息

Reactjs save and update the same user info with the same ID

这是我的User Settings page

我创建了一个用于保存和编辑信息的按钮。

我希望在第一次保存信息后,应用程序会注册用户 ID 以更新信息,而不是在数据库中创建新行。

在沙箱中您找到了我编写的代码,但它不起作用。在沙盒中它不起作用,因为显然没有后端,但这不是我指的错误。我认为问题出在“服务”文件夹和这段代码中:

if (info.id === null) {
      InfoDataService.create(data)
        .then((response) => {
          console.log('create', response.data);
          setInfo({
            id: response.data.id,
            email: response.data.email,
            firstname: response.data.firstname,
            lastname: response.data.lastname
          });
        })
        .catch((e) => {
          console.error(e);
        });
    } else {
      InfoDataService.update(info.id, data)
        .then((response) => {
          console.log(response);
          setInfo({
            id: response.data.id,
            email: response.data.email,
            firstname: response.data.firstname,
            lastname: response.data.lastname
          });
          console.log(response.data);
        })
        .catch((e) => {
          console.error(e);
        });
    }
  };

像这样的东西应该可以工作:https://codesandbox.io/s/patient-glade-3z67y?file=/src/UserInfo.js

我在 infoService.js 中嘲笑了你的 API 所以它至少会做一些事情,但你应该能够删除这些行并且它会在本地为你工作。

希望这能为您指明正确的方向!