簡體   English   中英

作為數組傳遞的道具在 Reactjs 的子組件中作為對象類型獲取

[英]Props passed as array is getting as object type in the child component in Reactjs

在我的 ReactJS 應用程序中,我的ParentComponent通過將一些props傳遞給它來調用子組件

<ChildComponent val={["a1"]} sets={{}} />

在我的ChildComponent我提供了一些控制台來檢查正在接收和發現的道具

const ChildComponent = ({val, sets}) => {
    console.log("val", typeof(val))
    console.log("sets", typeof(sets))
    return <p> Hello </p>
}

但是在控制台中我得到了

val object
sets object

為什么我在檢查類型時將數組傳遞為 props 作為對象?

因為在表面之下,數組是 object (連線正確),即如果您console.log(typeof [])將是object

所以對它有用的檢查是:

var isArr = val instanceof Array;
var isArr = Array.isArray(val);

但最可靠的方法是:

const isArray = Object.prototype.toString.call(val) == '[object Array]';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM