我制作了一个自定义挂钩,用于返回状态。当我从自定义挂钩返回一个对象时,它不会打印状态值,但当我返回一个以状态作为第一个元素的数组时,它会打印一个值。
这是我的代码:
import React from "react";
import axios from "axios";
export default () => {
const [state, setState] = React.useState([]);
const fetchData = async () => {
const res = await axios.get("https://5os4e.csb.app/data.json");
setState(res.data);
};
React.useEffect(() => {
(async () => {
await fetchData();
})();
}, []);
// i am returning a object
return { state };
};
像这样使用:
export default function App() {
const { st } = useTabData();
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
{JSON.stringify(st, null, 2)}
</div>
);
}
为什么st不打印值?当我返回一个数组时它被打印出来。
https://codesandbox.io/s/sweet-meadow-9l41z?file=/src/App.js:89-276
MYYA
慕容森
相关分类