html 尝试从reactjs/tauri中的文件读取文本时出错

o8x7eapl  于 2022-11-27  发布在  React
关注(0)|答案(1)|浏览(118)

我在reactjs建设加密钱包,然后我会使它在金牛座,但我现在要做的是从文本文件中读取助记符,但我得到这个错误img
代码如下:

fetch(raw)
    .then(r => r.text())
    .then(text => {
      console.log(text); // console logs output

    });

    

  const [computer] = useState(
    new Computer({
      mnemonic: (text), // i want here to be output but i get that error
xt0899hw

xt0899hw1#

这里有几个问题。最初的问题,也是发生错误的原因,是因为当你在useState钩子内调用text变量时,它是out of scope。当你引用text变量时,你需要设置状态值。
第二个问题是,您希望在一个基于异步查询的React组件中设置状态的初始值。由于异步值在初始呈现时不可用,因此您需要合并使用useState挂钩和useEffect挂钩来设置初始加载后的值。
与这样有限的代码显示,我将尝试填补空白,并使一个例子,我认为你正在寻找:

function Component() {
  const [computer, setComputer] = useState("");
  
  useEffect(() => {
    fetch(raw).then(r => r.text()).then(text => {
      setComputer(new Computer({ mnemonic: text }))
    })
  }, [])

  return (
    // whatever you render 
  )
}

这样,在呈现时,组件将有一个默认值"",然后当异步fetch调用完成时,它将更新该值。如果您传递一个空数组作为useEffect钩子的第二个参数,它将只在初始呈现时被调用。

相关问题