我收到了一些奇怪的行爲。下面的this.props.data是來自我的Redux存儲的一個數組,我可以看到發生此錯誤時它不是未定義的或空的。this.props.data.maps不是一個函數只當this.props.data.length在同一個塊
當我拿出下面的this.props.data.length > 5
,一切都很好..但是一旦我加入它,我的項目會拋出錯誤this.props.data.maps is not a function
。
{
((this.props.data) !== undefined) ? (
((this.props.data).length > 0) ? (
(this.props.data).map((index) => {
var numberSize = '';
if (index.number > 100000 === 0) {
numberSize = 'Huge number';
} else if (index.number > 1000 === 0) {
numberSize = 'Big number'
} else if (index.number > 100 === 0) {
numberSize = 'Medium number';
} else {
numberSize = 'Small number';
}
return (
<div>
{numberSize}
</div>
);
})
//..beginning here
((this.props.data).length < 5) ? (
<button onClick={this.addToArray}>Add a number to the data</button>
) : (
<span>The data array is full (5 objects). No Numbers can be added.</span>
)
//..ending here. If I take this out, everything runs fine.
) : (
<button onClick={this.addToArray}>Add a number to the data</button>
)
) : (
<button onClick={this.addToArray}>Add a number to the data</button>
)
}
有誰明白爲什麼在this.props.data.length > 5
添加拋出的錯誤this.props.data.maps is not a function
?
感謝
缺少右')'在有條件的經營者?另外,是'.map()'調用之後的預期過程嗎? – guest271314
預期的邏輯是什麼? – guest271314
我已更新我的代碼以闡明我的意思是「邏輯」。是的,在'.map()'調用的每個循環內都會發生一個進程,更新的代碼也應該幫助澄清。如果不是,請告訴我。你能澄清你在哪裏看到缺少')'? – Rbar