當我觀看教程時,他們嘗試閱讀this.props而不在props任何地方定義術語。props 是關鍵字嗎?如果不是,React 如何知道它是 props 而不在代碼中的任何地方定義它?
uj5u.com熱心網友回復:
不,props不是關鍵字。該React.Component建構式接收道具物件(因為React.createElement它們傳遞到部件的功能作為第一個引數; JSX生成呼叫React.createElement)和受讓人props正在創建的實體,如下:
constructor(props) {
// ^^^^^??????????? parameter
this.props = props;
// ^^^^^^^^^^^^^^^^^^?????? assignment
// ...
}
這就是為什么如果您創建自己的建構式,您必須將接收到的物件作為第一個引數傳遞給super這樣的:
class MyComponent extends React.Component {
constructor(props) {
super(props);
// ^^^^^^????????? passing them on to `super`
// ...
}
}
uj5u.com熱心網友回復:
我不知道技術細節,(因為我不需要)但只知道每當你使用反應組件(基于類或基于函式)時,一些引數會被傳遞到反應組件中,你猜對了, props 得到了所有的引數。
所以如果你想看看 props 中的引數是什么,你可以
console.log(this.props)
props 擁有的最多引數之一:是你自己從 react 組件傳遞到它的子 react 組件的引數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/358397.html
標籤:javascript 反应 反应道具
上一篇:如何遍歷json物件中的陣列
