javascript prop 更新后如何重新渲染组件

6jygbczu  于 2023-05-05  发布在  Java
关注(0)|答案(1)|浏览(163)

我有一个这样的组件,<App>, <Main>, <GameFrame>。在这个组件中,我有这样的东西

let faeko = new Faeko({}, client)

在用户输入用户名之后,faeko对象被初始化。好的,初始化后,我把它作为props传递给子组件。但此时它的内部键值是未定义的。一段时间后,它会更新。在此之前,我无法访问obj。我该怎么办,直到它更新。
然后,只有我需要访问这些值在其他组件,如果其更新,它应该重新呈现组件
如果有什么需要免费问的,我会更新的。

kuarbcqp

kuarbcqp1#

首先,您需要将faeko对象保存为一个状态,这样一旦它被更新,它就会更新子组件。

const [faeko, setFaeko] = useState(null);

const initializeFaeko = (client) => {
  setFaeko(new Faeko({}, client))
}

//... JSX
<GameFrame faeko={faeko}>

其次,在子组件中,您需要检查是否定义了faeko的值,然后显示内容。

const GameFrame = ({ faeko }) => {
  return (
     // JSX CODE
     {faeko.username ? <h1>Welcome, {faeko.username}!</h1> : null}
  )
}

相关问题