鍍金池/ 問答/HTML/ react改變state里得數(shù)值得問題

react改變state里得數(shù)值得問題

代碼如下:

//點擊事件

longBtnClick=()=>{
     
        this.setState((prev)=>({
            ifNextScenes:true,
            step:prev.step+1   //增加step得數(shù)值,默認是0

        }),()=>{
            setTimeout(()=>{
                this.setState({
                    ifNextScenes:false
                })
            },300);
        })
    }

//render

<img  className="mainImg" src={
     this.state.onSwitch?this.props.data[parseInt(this.state.step)].text   //這里報錯了,此時this.state.step應(yīng)該時等于1
     :
     this.props.dataT[parseInt(this.state.step)]
    } /> 

問題:在第一遍默認加載得時候,一切正常,但當點擊時,提示如下錯誤:

Uncaught TypeError: Cannot read property '1' of undefined

為什么會報1得錯誤,它只是個下標又不是變量?數(shù)組時確認有1下標得。

回答
編輯回答
墨染殤

this.props.data 數(shù)據(jù)沒有獲取到

2017年1月14日 21:07
編輯回答
我以為

出現(xiàn)這個錯誤的原因是你的this.props.data或者this.props.dataT中有一個是undefined,你可以把這兩個值打印出來看看就知道了

2018年8月8日 17:09
編輯回答
尋仙

報錯的意思是你的data屬性不存在

2017年1月25日 19:09
編輯回答
逗婦惱

這個報錯是下標前的變量是 ubdefined,也就是 this.props.data 是 undefined

2017年12月29日 19:36