首页 > 解决方案 > 反应 - 使用导入的默认导出作为字符串

问题描述

我有这个代码

import dataOption1 from './Option1.json'
import dataOption2 from './Option2.json'

async setParamsByDomain(optionUser) {
  await this.setState({ jsonName: "data"+ optionUser});
  console.log(this.state.jsonName )
}

它是代码的一部分,但用户从列表中给出“Option1”或“Option2”,它将使用正确的 json。

我该如何使用它?因为它使用 jsonName 作为字符串而不是默认导出。

谢谢。

标签: javascriptnode.jsreactjs

解决方案


你为什么使用 setState 的 await ?setState 不返回承诺,因此 async/await 不会完成工作。要在状态更新后执行某些操作,您必须使用带有 setState 的回调函数,如下所示:

this.setState(() => {
  jsonName: "data" + optionUser
}, () => console.log(this.state.jsonName))

如果我是对的,请不要忘记投票。:)


推荐阅读