使用带有TypeScript的对象对本机设置状态问题作出反应

使用带有TypeScript的对象对本机设置状态问题作出反应,typescript,react-native,react-hooks,setstate,Typescript,React Native,React Hooks,Setstate,我对对象的设置状态有问题。 我的接口定义如下 export interface IProjectData { Id?: string, Description?: string, ProjectState?: string, } 我访问与RootStackParamList一起发送的参数,如下所示 function ProjectScreen({ route, navigation }: ProjectProps) { const [project, setProject] =

我对对象的设置状态有问题。 我的接口定义如下

export interface IProjectData {
  Id?: string,
  Description?: string,
  ProjectState?: string,
}
我访问与RootStackParamList一起发送的参数,如下所示

function ProjectScreen({ route, navigation }: ProjectProps) {
  const [project, setProject] = useState<IProjeData>(null)

  useEffect(() => {
    const sProject = JSON.stringify(route.params.project)
    let myProject: IProjeData = JSON.parse(sProject)
    console.log('myProject: ')
    console.log(myProject)
    setProject(myProject)
    console.log('Project: ')
    console.log(project)
  }, [])

  return (
    ...
    ...
  )}

setProject
是一种异步方法,您不能在
setProject
之后立即获取更新的
project

您应该将
useffect
与添加
project
依赖项一起使用,以获得更新的
project

useEffect(() => {
  console.log(project)
}, [ project ])
useEffect(() => {
  console.log(project)
}, [ project ])