Reactjs 浏览器后退按钮不触发componentDidMount()响应生命周期方法
我已经对redux应用程序做出了反应,它从RESTAPI获取了一个订单项列表,并将其放在一个充满redux的数组中。同一列表中有一个链接可导航到订单的详细信息。当导航到详细信息并按下浏览器后退按钮以再次加载列表时,我遇到以下错误 TypeError:fetchedOrders.map不是函数 这是订单列表容器中的代码Reactjs 浏览器后退按钮不触发componentDidMount()响应生命周期方法,reactjs,react-redux,react-router,Reactjs,React Redux,React Router,我已经对redux应用程序做出了反应,它从RESTAPI获取了一个订单项列表,并将其放在一个充满redux的数组中。同一列表中有一个链接可导航到订单的详细信息。当导航到详细信息并按下浏览器后退按钮以再次加载列表时,我遇到以下错误 TypeError:fetchedOrders.map不是函数 这是订单列表容器中的代码 componentDidMount() { this.props.handleFetchOrders(1); } render() { {
componentDidMount() {
this.props.handleFetchOrders(1);
}
render() {
{ fetchedOrders && fetchedOrders.map(order => {
return (
<OrdersWE
order={order}
onDelete={onDelete}
history = {this.props.history}
key={order.OrderHID}
/>
);
})}
}
const mapDispatchToProps = dispatch => {
return {
handleFetchOrders: (pageNumber) => {
dispatch(fetchOrders(pageNumber));
}
};
};
componentDidMount(){
本.道具.手令(1);
}
render(){
{fetchedOrders&&fetchedOrders.map(顺序=>{
返回(
);
})}
}
const mapDispatchToProps=调度=>{
返回{
handleFetchOrders:(页码)=>{
发送(获取订单(页码));
}
};
};
您错过了render
函数中的return
语句,您还必须返回单个元素
:
class App extends React.Component {
...
render() {
return (
<>
{fetchedOrders &&
fetchedOrders.map(order => {
return (
<OrdersWE
order={order}
onDelete={onDelete}
history={this.props.history}
key={order.OrderHID}
/>
);
})}
</>
);
}
}
类应用程序扩展了React.Component{
...
render(){
返回(
{fetchedOrders&&
fetchedOrders.map(顺序=>{
返回(
);
})}
);
}
}
此外,尝试记录
fetchedOrders
,根据错误,它可能不是数组对象。不要发布代码片段,您应该始终添加一个可复制的示例:感谢您的评论,我将尝试增强发布的代码什么是fetchedOrders
?无法理解提供的代码是什么。感谢您的评论。这里没有返回,因为我已经选择了部分代码,但忘了放在这里,但它已经存在。@MohamedDawaina请编辑问题以反映这一点,否则会误导试图帮助的人。