【发布时间】:2020-08-24 04:06:51
【问题描述】:
我想从 swapi 获取数据并用这些数据做 jsx 组件,但是当我想使用这些数据时反应给我一个错误 这是我的收获
var promise = await fetch('https://swapi.dev/api/people/1/')
.then((res) => res.json() )
.then(data => setLuke(data.data))
这是反应错误:
对象作为 React 子级无效(找到:[object Promise])。如果您打算渲染一组子项,请改用数组。 我不知道该怎么办 你能帮我解决这个小问题吗
【问题讨论】:
-
show your render.. 可能你只是在渲染 promisee ?
-
const Main = async() => { const [luke, setLuke] = useState() var req = async () => { var promise = await fetch('swapi.dev/api/people/1/').then((res) => res. json() ).then(data => setLuke(data.data)) console.log(luke) } useEffect(() => req()) return ( {luke} >) }
-
响应中的
data.data可能是一个对象。 -
你
Main是异步的。并希望你正在渲染主......所以这是一个承诺。您应该删除 Main 中的 async 并尝试一下
标签: javascript reactjs fetch jsx