【发布时间】:2020-01-27 01:32:15
【问题描述】:
我正在通过制作游戏项目来学习 React 和 Redux。我想通过 API 获取数据(属性),但它会导致太多请求。猜猜可以将 axios 调用直接放在功能性反应组件中,但我不知道如何修复它。
function Attributes({ attributes, dispatch }) {
axios.get(`/api/heroes/1/get-attributes`).then(res => {
dispatch(AttribAction.set(objectToArray(res.data)));
});
return (
<div className="content">
{attributes.map((attrib, index) => (
<div
key={index}
className={attrib.id == null ? "attrib-block empty" : "attrib-block"}
>
<p>
<strong>{attrib.name}</strong>: {attrib.value}
</p>
<div>
<button
className="attrib-button"
onClick={() => dispatch(AttribAction.increment(attrib.id))}
>
+
</button>
<button
className="attrib-button"
onClick={() => dispatch(AttribAction.decrement(attrib.id))}
>
-
</button>
</div>
</div>
))}
</div>
);
}
【问题讨论】:
标签: javascript reactjs api react-redux axios