Taro中的Cannot read property 'map' of undefined

本文介绍在使用TaroJS进行跨平台应用开发时遇到的“Cannot read property ‘map’ of undefined”错误,该错误源于props中的数组未初始化。文章提供了检查并确保props存在及非空的解决方案,避免了组件渲染时的崩溃。
import Taro, { Component } from '@tarojs/taro'
import PropTypes from 'prop-types'
import { View, Image } from '@tarojs/components'
import './index.scss'

class Index extends Component {
    render() {
        return (
            <View className="prolist">
                {
                    this.props.prolist.map(item => (
                      Taro.navigateTo Taro.switchTab Taro.redirectTo
                        <View className="proitem" key={item.proid} onClick={() => {
                            Taro.navigateTo({
                                url: '/pages/detail/index?proid=' + item.proid
                            })
                        }}>
                            <View className="itemimg">
                                <Image className='img' src={item.proimg}></Image>
                            </View>
                            <View className="iteminfo">
                                <View className="title">{item.proname}</View>
                                <View className="title">{item.sales} / {item.stock}</View>
                                <View className="price">¥{item.price}</View>
                            </View>
                        </View>
                    ))
                }
            </View>
        )
    }
}

Index.propTypes = {
    prolist: PropTypes.array
}

export default Index

报错:Cannot read property ‘map’ of undefined

在这里插入图片描述
因为初始化时this.props.prolist是undefined
所有要判断this.props.prolis是不是undefined,直到有值才渲染

解决方案
【1】
在这里插入图片描述
【2】
在这里插入图片描述

如有解释不周,请谅解。。。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值