Reactjs 单击时未更新反应状态

Reactjs 单击时未更新反应状态,reactjs,react-context,react-forms,Reactjs,React Context,React Forms,我是ReactJS的新手,我正在开发一个简单的应用程序,在其中显示两个屏幕(单个应用程序,没有路由),用户在其中输入数据,然后一个屏幕显示所有数据,您可以单击一个虚拟提交按钮,上面写着“成功”。 我使用的是上下文和两个状态。一个用来跟踪我的位置,另一个用来更新用户信息 第一个页面运行良好,但当我单击“继续”时,我希望我的步骤变为2,并呈现下一个屏幕,什么都没有发生,我得到一个空白屏幕。我的步骤从未得到更新,在控制台中我看到一个错误“未捕获异常:渲染未返回任何内容。这通常意味着缺少返回语句。或者,

我是ReactJS的新手,我正在开发一个简单的应用程序,在其中显示两个屏幕(单个应用程序,没有路由),用户在其中输入数据,然后一个屏幕显示所有数据,您可以单击一个虚拟提交按钮,上面写着“成功”。 我使用的是上下文和两个状态。一个用来跟踪我的位置,另一个用来更新用户信息

第一个页面运行良好,但当我单击“继续”时,我希望我的步骤变为2,并呈现下一个屏幕,什么都没有发生,我得到一个空白屏幕。我的步骤从未得到更新,在控制台中我看到一个错误“未捕获异常:渲染未返回任何内容。这通常意味着缺少返回语句。或者,若要不渲染任何内容,请返回null。”

我的代码如下: 背景:

import React,{useState,useffect}来自“React”;
const Context=React.createContext()
函数ContextProvider({children}){
const[userData,setUserData]=useState({
名字:“,
姓氏:“,
电邮:“,
职业:“,
城市:“,
个人简历:“
})
常量[步骤,设置步骤]=使用状态(1)
const{firstName,lastName,email,职业,城市,bio}=userData
常量值={firstName,lastName,email,职业,城市,bio}
//继续下一步
函数nextStep(){
设置步骤(prevState=>prevState.step+1)
}
//返回上一步
函数prevStep(){
设置步骤(prevState=>prevState.step-1)
}
//处理字段更改
功能手柄更改(e){
设值=e.target.value;
让name=e.target.name;
setUserData({
…用户数据,
[名称]:值
})
}
返回(
{儿童}
)
}

导出{ContextProvider,Context}
步骤函数出错。您应该从中删除
.step

他们应该是

  // Proceed to next step
  function nextStep () { 
    setStep(prevState => prevState + 1)
  }

  // Go back to prev step
  function prevStep () {
    setStep(prevState => prevState - 1)
  }

步骤函数有错误。您应该从中删除
.step

他们应该是

  // Proceed to next step
  function nextStep () { 
    setStep(prevState => prevState + 1)
  }

  // Go back to prev step
  function prevStep () {
    setStep(prevState => prevState - 1)
  }

您是否在某处使用
ContextProvider
?是的,在index.js中。我用iTunes包装应用程序你是否在某处使用
ContextProvider
?是的,在index.js中。我用itoh man包装了这个应用程序,显然是个错误。我曾经将step作为userData状态的一部分,后来我将其解耦,但忘记更改设置它的方法。谢谢!哦,天哪,明显的错误。我曾经将step作为userData状态的一部分,后来我将其解耦,但忘记更改设置它的方法。谢谢!