React Hook SetState未设置在承诺上



我正在使用内容的CMS JS SDK,下面的代码不会更新我的React Hook状态。我相信,这更多是一种诺言,再加上React钩子与React渲染问题相结合 - 我相信。我了解该诺言在以后解决挂钩值时设置了挂钩值,但是到那时,我的组件已经使用初始数据(空字符串(呈现,因此,如果是这样,我该如何使我的组件重新启动当将挂钩状态从承诺中设置为正确的值时,渲染时,我的按钮显示了它。任何帮助都赞赏。谢谢

问题在这里。

...
import client from 'contentful'
  const [name, setName] = useState('')
  client.getEntry(data.fields.store.sys.id)
    .then(entry => setName(entry.fields.name))
    .catch(console.error)
  console.log('STORE URL', name) // name is not set
...
<Button title={name} /> // name still not set
....

我只是尝试了您的代码,它似乎对我有用。:(

https://codesandbox.io/embed/reeact-hooks-demo-e4wgo

我认为您应该使用useEffect,但如本文所述。

相关内容

  • 没有找到相关文章

最新更新