Javascript 获取后,无法使用react挂钩(useState)查看状态的输出
我是一个新手,所以我确信我错过了一些非常简单的事情。我正在尝试完成一个简单的axios api获取,并将响应设置为一个状态。我可以在控制台日志中看到数据,但当我尝试将其设置为状态时,似乎什么都没有发生。在各种博客的帮助下,我尝试了useState、useEffect和useReducer方法,但我看不到结果,所以我肯定做得不对 编辑:我尝试在加载页面时执行此操作,而不是单击事件 我能够在react()上找到反例,以便在没有任何问题的情况下工作。我从几个博客上混合了一些例子,但看不到结果 最后,我希望将api中的数据合并到Material表ui中 任何有用的见解都将不胜感激。在过去的两天里,我一直在做这些Javascript 获取后,无法使用react挂钩(useState)查看状态的输出,javascript,reactjs,axios,fetch,Javascript,Reactjs,Axios,Fetch,我是一个新手,所以我确信我错过了一些非常简单的事情。我正在尝试完成一个简单的axios api获取,并将响应设置为一个状态。我可以在控制台日志中看到数据,但当我尝试将其设置为状态时,似乎什么都没有发生。在各种博客的帮助下,我尝试了useState、useEffect和useReducer方法,但我看不到结果,所以我肯定做得不对 编辑:我尝试在加载页面时执行此操作,而不是单击事件 我能够在react()上找到反例,以便在没有任何问题的情况下工作。我从几个博客上混合了一些例子,但看不到结果 最后,
function LandingPage = () => {
const [rows, setRows] = useState([]);
useEffect(() => {
console.log("ent useeffect")
const fetchData = async () => {
const result = await axios(
window.location.origin + "/api/MESampleData",
);
console.log("before if")
if(result){console.log(result)}
console.log("before setrows")
setRows(result.data);
};
fetchData();
}, []);
return (
<div className="section">
{<h6>It should render</h6>}
<ul>
{rows.map(row =>
<li>{row.item1}</li>
)}
</ul>
</div>)
}
export default LandingPage;
函数登录页=()=>{
const[rows,setRows]=useState([]);
useffect(()=>{
console.log(“ent-useffect”)
const fetchData=async()=>{
常量结果=等待axios(
window.location.origin+“/api/MESampleData”,
);
console.log(“在if之前”)
if(result){console.log(result)}
console.log(“在setrows之前”)
setRows(result.data);
};
fetchData();
}, []);
返回(
{它应该呈现}
{rows.map(row=>
- {row.item1}
)}
)
}
导出默认登陆页面;
尝试将fetchData函数拉到useEffect之外,但继续调用useEffect内部的函数。啊,废话。我现在明白你的意思了。我没有抓取正确的数据元素并将其放入setRows对象。我只是看到了结果数组,并认为这就是它 具体是什么
result
?您好-result是来自Axios fetch和result的响应。数据应该是一个记录数组。我问的是实际存在的内容,而不是预期的内容——例如,显示结果。如果有帮助,请查看示例输出屏幕打印。啊,废话。我现在明白你的意思了。我没有抓取正确的数据元素并将其放入setRows对象。我只是看到了结果数组,并认为这就是它。让我再次修复和部署。我之前已经尝试过,但没有成功