Reactjs 数据获取完成后,如何在数组中循环?
我对反应有点陌生,我正在尝试在加载菜单项后循环浏览菜单项列表。我将state设置为empty,并设置了一个条件,使其仅在状态不为空时才开始使用.map()。但我一直得到类型错误:menu_items.map不是一个函数。 我知道它会被加载,因为当我执行console.log(菜单项)时,它会显示菜单项。 在这一点上我有点困惑。任何帮助都将不胜感激Reactjs 数据获取完成后,如何在数组中循环?,reactjs,Reactjs,我对反应有点陌生,我正在尝试在加载菜单项后循环浏览菜单项列表。我将state设置为empty,并设置了一个条件,使其仅在状态不为空时才开始使用.map()。但我一直得到类型错误:menu_items.map不是一个函数。 我知道它会被加载,因为当我执行console.log(菜单项)时,它会显示菜单项。 在这一点上我有点困惑。任何帮助都将不胜感激 import {useEffect} from 'react'; import {connect} from 'react-redux' import
import {useEffect} from 'react';
import {connect} from 'react-redux'
import {getMenu} from '../service/thunks'
const StoreMenu = ({loadMenu,match,menu_items}) => {
useEffect(()=> loadMenu(match.params.id),[]);
if(menu_items !== "") {
{
menu_items.map(menu_item => console.log(menu_item.item_name))
}
}
return (<div> tesr</div>);
}
const mapStateToProps = state => (
{
menu_items : state.menuItems
}
)
const mapDispatchToProps = dispatch => (
{
loadMenu: (store_id) => dispatch(getMenu(store_id))
}
)
export default connect(mapStateToProps,mapDispatchToProps)(StoreMenu);
从“react”导入{useffect};
从“react redux”导入{connect}
从“../service/thunks”导入{getMenu}
const StoreMenu=({loadMenu,match,menu items})=>{
useEffect(()=>loadMenu(match.params.id),[]);
如果(菜单项!==“”){
{
menu_items.map(menu_item=>console.log(menu_item.item_name))
}
}
返回(tesr);
}
常量mapStateToProps=状态=>(
{
菜单项:state.menuItems
}
)
const mapDispatchToProps=调度=>(
{
loadMenu:(store\u id)=>dispatch(getMenu(store\u id))
}
)
导出默认连接(mapStateToProps、mapDispatchToProps)(StoreMenu);
将代码修复为:
if (menu_items && menu_items.length > 0) {
menu_items.map(menu_item => console.log(menu_item.item_name))
}
return (
// Create JSX here.
);
将代码修复为:
if (menu_items && menu_items.length > 0) {
menu_items.map(menu_item => console.log(menu_item.item_name))
}
return (
// Create JSX here.
);
菜单项
不能是数组,因此没有.map()
原型函数。你能和我核对一下吗?谢谢。这就是问题所在。它不是数组。菜单项
不能是数组,因此没有.map()
原型函数。你能和我核对一下吗?谢谢。这就是问题所在。这不是一个数组。