小编Aph*_*hix的帖子

为什么我的 NextJS 代码运行多次,如何避免这种情况?

我一直在尝试连接 Web 应用程序的前端和后端,但遇到一个问题,当用户创建帐户时,会在数据库中创建该用户的多个对象。我使用console.log后发现我的 NextJS 代码是重复的。我发现这个稍微相关的帖子:组件函数运行多次反应 但是,它处理异步调用的问题,我已经通过空/未定义检查解决了这些问题。这是我当前的用户注册代码:

const handleUser = async (user) => {
  var bUserExists = false

  await axios.get(GET_USER(user.email))
    .then(response => {
      bUserExists = true;
    })
    .catch(err => {
      bUserExists = false
    })

  if(!bUserExists) {
    bUserExists = true;
    await axios.post(CREATE_USER(), {
      email: user.email,
      name: user.name,
    }).then(newUser => {
      console.log(newUser.data)
      if(newUser.data) {
        router.push('/form/p1')
      }
    }).catch(err => {
      console.log(err)
    })
  }
}

const { user, error, isLoading } = useUser();
  
if(isLoading) return <div>Loading...</div>;
if(error) return <div>{error.message}</div>;
if(user) {
  // …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb reactjs next.js

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×1

mongodb ×1

next.js ×1

reactjs ×1