先贴一下使用fetch
获取数据的代码:
fetch('http://localhost:3001/projects').then(async response => {
console.log(response.json())
if (response.ok) {
setList(await response.json())
}
})
通过fetch
中使用then
来获取数据及处理response
的数据时,报了Uncaught (in promise) TypeError: Failed to execute 'json' on 'Response': body stream already read
这个错。
当把console.log(response.json())
注释掉之后就不再报错,但是为什么会这样的原因不知道。
同时还有一个情况,在这里使用了http://localhost:3001/projects
这个地址,如果把改地址改成${apiUrl}/projects
,并且这部分用反引号表示时会报。这种方式被称为ES6中的模板字符串。
.env 文件中
REACT_APP_API_URL=http://localhost:3001
const apiUrl = process.env.REACT_APP_API_URL