Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 导出默认类库扩展组件与导出默认类库_Javascript_Reactjs - Fatal编程技术网

Javascript 导出默认类库扩展组件与导出默认类库

Javascript 导出默认类库扩展组件与导出默认类库,javascript,reactjs,Javascript,Reactjs,我是个新手,所以这只是一个问题,我想知道哪一个更有效,哪一个时间复杂度最好 第一号 二号 问题: 哪一个更有效 哪一个比较省时?甚至微秒的差异 导出默认值和module.export之间有什么不同 它们之间没有区别。但当你想使用一些高阶组件时,你应该使用第二个。 例如,您希望对redux应用程序使用“connect”。你必须写作 class Book extends Component { render() { return ( ); } } export defaul

我是个新手,所以这只是一个问题,我想知道哪一个更有效,哪一个时间复杂度最好

第一号

二号

问题:

  • 哪一个更有效
  • 哪一个比较省时?甚至微秒的差异
  • 导出默认值和module.export之间有什么不同

    • 它们之间没有区别。但当你想使用一些高阶组件时,你应该使用第二个。 例如,您希望对redux应用程序使用“connect”。你必须写作

      class Book extends Component {
        render() {
          return (
          );
        }
      }
      export default connect(Book)
      

      *哪一种使用效率更高?

      它们同样有效。这是一个编码风格和偏好的问题

      No.1提供了不使用名称声明类的可能性,例如

      export default class extends Component {
        render() {
          return (
            <div>markup</div>
          );
        }
      }
      
      导出默认类扩展组件{
      render(){
      返回(
      加成
      );
      }
      }
      
      第2条给出了在导出类之前进一步使用该类的可能性。例如添加proptypes
      Book.proptypes={/*proptypes definition*/}
      或与高阶组件一起使用

      *哪一个花费的时间更少?甚至微秒级的差异?

      您的目标可能是不理解ES6模块(导入/导出)的浏览器。编译后的代码是相同的。我建议大家玩一下,了解一下生成了什么

      *导出默认值和模块导出之间有什么不同?


      第一个是ES6模块(在不久的将来浏览器可以理解),第二个是NodeJS模块()。Stackoverflow中已经很好地解释了这一点,如果你四处搜索,例如

      即使其中任何一个有优势,这仍然是一个微观优化。每个类只导出一次。做更容易阅读和方便的事情。记住,编程一定很有趣!
      class Book extends Component {
        render() {
          return (
          );
        }
      }
      export default connect(Book)
      
      export default class extends Component {
        render() {
          return (
            <div>markup</div>
          );
        }
      }