javascript - 有没有办法在反应功能组件渲染之前获取数据?
问题描述
我对反应很陌生,我创建了一个有错误的功能组件。
我想要实现的目标:
我需要从 reducer 中获取数据并在函数返回中使用它。问题是组件在加载数据之前呈现。
我的代码:
function ItemDetail() {
const { id } = useParams();
const [{items}, dispatch] = useStateValue(); // useStateValue = datalayer from reducer
const [item, setEvent] = useState({});
useEffect(() => {
const filteredItem = items.find(item=> item.id == id);
setEvent(filteredItem);
}, [])
return (
<div className="eventDetail">
// more HTML
</div>
)
}
export default ItemDetail
我尝试了什么:
我尝试使用一个类组件,但我没有让它工作。
错误:
item.data() 不是函数(我 100% 确定它是因为返回时未加载数据)
解决方案
推荐阅读
- angular - Not getting radio button value when placing ngModel
- windows - Git Bash (mingw64) - make 不做任何事情
- mysql - User Exists and NotExists Query
- c++ - qt 使用 QPainterPath 绘制轮廓文本
- sql - 如何获得第三份报告以结合客户和订单数据
- pm2 - why /usr/local/bin/pm2 symlink to pm2-runtime when install pm2?
- angular - Angular 表单和密码管理器
- java - 使用 DefaultMessageListenerConatiner 时如何动态更改目标队列?
- reactjs - 作为函数或常量的无状态组件
- excel - 使用 selenium 将文件下载到特定目录