我們通常使用React.memo如下
const MyComponent = React.memo(function MyComponent(props) {
/* render using props */
});
我們在同一個范圍內有一個MyComponent函式和一個MyComponent變數,為什么語法是正確的,我們沒有像這樣的運行時錯誤Uncaught SyntaxError: Identifier 'MyComponent' has already been declared?
uj5u.com熱心網友回復:
給定一個函式宣告(你沒有,這是為了比較):
function example() {
...
}
識別符號example做兩件不同的事情。
- 它將函式名稱設定為
example - 它創建一個名為的變數
example并將函式分配給它
區分函式的名稱和參考它的任何變數很重要。
你可以繼續做:
const foo = example;
所以現在您有一個名為 的函式example和兩個可用于訪問它的變數(foo和example)。
您在問題中的語法是函式運算式而不是函式宣告。
函式運算式和宣告之間的區別之一是識別符號僅命名函式。它不會創建同名變數。(另一個區別是運算式的識別符號是可選的,您有一個命名函式運算式)。
由于它不創建變數,因此與const MyComponent.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/357338.html
標籤:javascript 反应
下一篇:拆分動態字串以存盤在單獨的變數中
