Reactjs 条件渲染总是错误的
我有一个从Redux商店获取信息的组件。为了初始化存储,我调用了调度函数,该函数通过AJAX调用填充状态 我面临的问题是,条件渲染总是错误的。我甚至在控制台中调试语句,它输出TRUE,但在条件呈现中它总是FALSE(它跳过呈现子组件) 以下是我正在使用的代码:Reactjs 条件渲染总是错误的,reactjs,redux,Reactjs,Redux,我有一个从Redux商店获取信息的组件。为了初始化存储,我调用了调度函数,该函数通过AJAX调用填充状态 我面临的问题是,条件渲染总是错误的。我甚至在控制台中调试语句,它输出TRUE,但在条件呈现中它总是FALSE(它跳过呈现子组件) 以下是我正在使用的代码: componentDidMount() { this.props.routeInfo() } render() { console.log(Object.keys(this.props.inboundRou
componentDidMount() {
this.props.routeInfo()
}
render() {
console.log(Object.keys(this.props.inboundRoute).length !== 0);
//After dispatch and redux state changes this outputs to TRUE!
return (
<div className="wrapper wrapper-content animated fadeInRight">
//This statement is always FALSE
{Object.keys(this.props.inboundRoute).length !== 0 &&
<div className={`${this.props.match.params.ticketType !== "2" ? "col-md-12" : "col-md-6"}`}>
<TicketInfo/>
</div>
}
<BillingInfo/>
</div>
)
}
编辑
一旦触发render中的返回方法,道具似乎总是空的。有人知道原因吗?尝试将
this.props.inboundRoute
存储在变量中。此外,我认为最好执行inboundRoute.length>0
而不是inboundRoute.length!==0
尝试在变量中存储this.props.inboundRoute
。此外,我认为最好执行inboundRoute.length>0
而不是inboundRoute.length!==0
function mapStateToProps(state) {
return {
inboundRoute: state.passenger.inboundRoute,
returnRoute: state.passenger.returnRoute,
};
}
export default withRouter(connect(mapStateToProps, {routeInfo})(PassengerList));