我最近遇到了这个:
React.useEffect(() => {}, []);
我习惯于导入useEffect
并这样称呼它:
useEffect(() => {}, []);
根据我的经验,这似乎更常见.
两者有什么区别吗?(也许是性能差异?)有没有理由更喜欢其中一个而不是另一个?
我最近遇到了这个:
React.useEffect(() => {}, []);
我习惯于导入useEffect
并这样称呼它:
useEffect(() => {}, []);
根据我的经验,这似乎更常见.
两者有什么区别吗?(也许是性能差异?)有没有理由更喜欢其中一个而不是另一个?
没有区别.不存在性能差异或功能差异.事实上,他们都提到了same exact function.
import React, { useEffect } from 'react'
React.useEffect === useEffect // true
因此使用哪一种完全取决于您的喜好.
有些人喜欢为React东西提供一个命名空间,这样您就可以输入React.use
,并让IDE的自动完成为您提供很好的建议.
有些人喜欢通过直接导入函数来保持较短的行长度.
这取决于你.显然也不是wrong.
maybe很重要的一件事是,聪明的收件箱可能能够对您不使用的内容进行树摇,这使得您发送给用户的代码更小.
如果您执行import React from 'react'; React.useState()
,则收件箱必须包括整个React
对象.但如果您import { useState } from 'react'
,那么Bundle 包may能够在最终Bundle 包中包括only useState
函数.
我说may是因为Bundle 很复杂.并非您导入的所有模块都可能以这种方式进行树动摇.对于React,您可能会将所有React包含在您的Bundle 包中.
但出于这些原因,我认为当您导入的模块支持它时,养成这是一个合理的习惯.
无论如何,the react docs个单独导入每个功能.