![](/img/trans.png)
[英]React Array not showing data in .map despite showing in console.log
[英]React - Data loaded able to console log but not showing up in DOM?
我查看了日志,state Classs
and Classes
中的数据是好的,但是当我进入页面时, { renderCards }
没有出现。
有趣的是,当我修复代码并保存它时,我的本地服务器被重新加载,然后{ renderCards }
出现了? 为什么?
function ClassDetailPage(props) {
const dispatch = useDispatch();
const classId = props.match.params.classId
const [Classs, setClasss] = useState({})
const [Classes, setClasses] = useState([])
console.log(Classs.desc_image);
useEffect(() => {
dispatch(videoclasslist())
.then((res) => {
const class_list = res.payload
console.log(class_list,'123');
setClasses(class_list)
})
}, [dispatch])
useEffect(() => {
dispatch(videoclassdetail(classId))
.then((res) => {
console.log(res.payload);
setClasss(res.payload)
console.log(res.payload.content);
})
}, [dispatch])
const renderCards = Classes.map((product, index) => {
return <a href={'/videoclass/detail/'+ product.id } key={index}>
<Card className="owl-theme Other-Class">
<Card.Img className="Other-Class-Image" src={API_BASE_URL+product.image}/>
<Card.Title className="Other-Class-Title">{product.title}</Card.Title>
<Card.Text className="Other-Class-Trainer">{product.nickname}</Card.Text>
<Card.Text className="Other-Class-Price">월 {product.price}원 <Badge variant="warning">Free</Badge></Card.Text>
</Card>
</a>
})
return (
<div>
<div className="detail-board">
<Row>
<Col className="imagespace" lg={6} xs={12}>
<Image className="img-fluid" src={API_BASE_URL + Classs.desc_image}/>
</Col>
<Col lg={6} xs={12}>
{/* ProductInfo */}
<ProductInfo detail={Classs} />
</Col>
</Row>
</div>
<h2> classes</h2>
<Row className="Other-Classes-Row">
<OwlCarousel className="Other-Classes" loop items={3} autoplay ={true}>
{ renderCards }
</OwlCarousel>
</Row>
<br/>
</div>
)
}
export default ClassDetailPage
确保在renderCards
map function 中返回整个 JSX 部分,而不仅仅是<a href={'/videoclass/detail/' + product.id} key={index}>
。 尝试将所有内容都包含在括号中,如下所示:
const renderCards = Classes.map((product, index) => {
return (
<a href={'/videoclass/detail/' + product.id} key={index}>
<Card className="owl-theme Other-Class">
<Card.Img
className="Other-Class-Image"
src={API_BASE_URL + product.image}
/>
<Card.Title className="Other-Class-Title">{product.title}</Card.Title>
<Card.Text className="Other-Class-Trainer">
{product.nickname}
</Card.Text>
<Card.Text className="Other-Class-Price">
월 {product.price}원 <Badge variant="warning">Free</Badge>
</Card.Text>
</Card>
</a>
);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.