reactjs - 如何使用 useEffect 加载
问题描述
我尝试使用 Route 和使用参数提供带有参数的数据,从服务器获取数据并打印它。但 useEffect 不起作用
export default function Board({ match }) {
const [content, setContent] = useState([]);
useEffect(() => {
getOnePost(match.params.number).then((response) => {
setContent(response);
});
console.log(content);
}, []);
return (
<div>
<div>hi</div>
</div>
);
}
<PrivateRoute
path="/board/:number"
authenticated={this.state.authenticated}
component={Board}
/>
解决方案
我认为 getonepost 函数未定义为异步函数。请使用此代码。
useEffect(() => {
getOnePost(match.params.number).then((response) => {
setContent(response);
console.log(content);
});
}, []); 或者你也可以试试这个。
const [ update, setUpdate]=useState(true);
useEffect(() => {
console.log(content);
});
}, [update]);
getOnePost(match.params.number).then((response) => {
setContent(response);
setUpdate(!update);
}
推荐阅读
- swift - 模块作为 Xcode 项目中的独立框架
- javascript - 在 office addin 中将 ItemId (EwsId) 转换为 EntryId
- sql - SQL Query 重复 `AND` 查询,如何避免?
- python - 在 python 中从元组到列表时是否保持顺序?
- html - 引导按钮未正确显示
- python - 如何在不丢失索引的情况下在 Python 中“过滤”出列表
- android - 无法解析 org.jetbrains.trove4j:trove4j:20160824
- mysql - 如果列具有连续重复项,则 Hive collect_list() 以收集列值
- c# - 当大文本打开时,堆栈布局不适合元素
- oracle-apex - Oracle Apex 20.1 将 x 轴上的日期转换为 dd.mm.yyyy