react 组件导出
前段时间忙于公司的招聘,导致react学习停滞了一段时间。今天通过react官方文档在本地创建了一个项目,把里面的文件自己重新开发。遇到了一个有意思的问题
class App extends React.Component {
  render() {
    return (
      <div className="App">
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">Welcome to 1231231231</h1>
        </header>
        <p className="App-intro">
          To get started, edit <code>src/App.js</code> and save to reload.
        </p>
      </div>
    );
  }
}
export default App;
这是官方文档自带的代码,在app.js里面,然后在index.js 引入 import App form './app';然后可以页面可以正常展示;这个export default App 是导出组件,然后在别的文件引入就可以直接使用。但是我看其它的项目不是每一个文件都使用了 export 
default 进行导出。而是直接在定义组件的使用直接使用
export default class App extends React.Component {}
同样在别的页面也可以直接使用。
下面这种方式一般是默认组件的导出方式,自定义组件更多的使用第一种方式。
扩展
没有加default时,例如:
export default Template{};
当然,你可以在单个js文件里声明多个组件,例如Templates.js
export class Template{}
export class OtherTemplate{}
这样在其他文件引用时,需要使用{}符号且组件名称必修和class名称一样,像这样子:
import {Template,OtherTemplate} from './component/Template';
而加default时,例如:
export default class Template{};
export class OtherTemplate{};
然后在其他文件引用,像这样子:
import Template,{OtherTemplate} from './component/Templates'; //从Templates引入组件将其命名为Template,以及引入OtherTemplate非默认组件
但是每个文件里只能有一个default组件,可以包含其他多个非default组件:
react 组件导出的更多相关文章
- react学习笔记(二)编写第一个react组件
		继续上一节课的内容,打开App.js:会看到如下代码: import React, { Component } from 'react'; //在此文件中引用React,以及reat的组件类 imp ... 
- react 组件构建设计
		项目设计中,可以从顶层React元素开始,然后实现它的子组件,自顶向下来构建组件的层级组件的写法:1.引入依赖模块2.定义React组件3.作为模块导出React组件4.子组件更新父组件的机制5.父组 ... 
- webStrom快捷键快速创建React组件
		1. rcc + tab键 - - 用ES6模块系统创建一个React组件类 2. rccp + tab键 - - 创建一个带有PropTypes和ES6模块系统的React组件类 3. rcfc + ... 
- React: React组件创建的三种方式
		一.简介 在前面介绍的React组件知识中,对于组件的创建我只是用了其中某一种方式.其实,在2013年React诞生之初,对于React组件的创建,仅仅只有一种方式,也即createClass函数,在 ... 
- React - 组件:函数组件
		目录: . 组件名字首字母一定是大写的 . 返回一个jsx . jsx依赖React,所以组件内部需要引入React . 组件传参 a. 传递. <Component list={ arrDat ... 
- 如何快速构建React组件库
		前言 俗话说:"麻雀虽小,五脏俱全",搭建一个组件库,知之非难,行之不易,涉及到的技术方方面面,犹如海面风平浪静,实则暗礁险滩,处处惊险- 目前团队内已经有较为成熟的 Vue 技术 ... 
- react第六单元(react组件通信-父子组件通信-子父组件通信-跨级组件的传参方式-context方式的传参)
		第六单元(react组件通信-父子组件通信-子父组件通信-跨级组件的传参方式-context方式的传参) #课程目标 1.梳理react组件之间的关系 2.掌握父子传值的方法 3.掌握子父传值的方法 ... 
- React组件复用的方式
		React组件复用的方式 现前端的工程化越发重要,虽然使用Ctrl+C与Ctrl+V同样能够完成需求,但是一旦面临修改那就是一项庞大的任务,于是减少代码的拷贝,增加封装复用能力,实现可维护.可复用的代 ... 
- 解析Markdown文件生成React组件文档
		前言 最近做的项目使用了微前端框架single-spa. 对于这类微前端框架而言,通常有个utility应用,也就是公共应用,里面是各个子应用之间可以共用的一些公共组件或者方法. 对于一个团队而言,项 ... 
随机推荐
- 迁移 Emacs 的自定义设置
			在一台电脑上设置好了 Emacs 自定义的许多包和参数,想要便捷地把各项设置迁移到另一台目标电脑,其实是很简便的. 一般情况下,各个package位于 ~/.emacs.d/ 文件夹内,我们需要做的只 ... 
- cropper截图不压缩PHP上传裁剪后的图片
			cropperjs使用不多说网上都有很详细的介绍如下面: https://blog.csdn.net/lxy4239/article/details/78920979 主要讲下使用的经历 裁剪后图片不 ... 
- VS2017开发.net core 时默认发布路径文件夹多个BPC
			新安装的VS2017,编译后进行发布,结果在bin文件夹下多了个BPC文件夹,很是费解,查了资料才知道是VS2017默认设置了环境变量.在此记录下,如果不需要默认路径可修改环境变量,具体操作如下: 我 ... 
- CSS可见区域全局居中
			top:$(document).scrollTop() + ($(document).height() - $(document).scrollTop())/2, 
- Mac搭建SVN服务器+Cornerstone连接服务器
			Mac自带svn,我们只需配置并开启就可以了,打开终端,输入svnserve --version查看svn版本 可以看到我的mac自带的svn版本号为1.9.7,下面开始配置服务器: 1.终端输入su ... 
- Quartz定时任务封装
			一般的系统都会有一些定时任务,那么我们将这个定时任务封装起来,只要系统需要添加定时任务时,只需调用此方法传入所需要的值即可完成定时任务. 自己自学整理的一些随笔 1.首先对周期粒度进行封装 publ ... 
- 浅谈Vector、ArrayList、LinkedList
			下图是Collection的类继承图 从图中可以看出:Vector.ArrayList.LinkedList这三者都实现了List 接口.所有使用方式也很相似,主要区别在于实现方式的不同,所以对不同的 ... 
- 实现对HashMap的value排序
			问题:如何对HashMap中的value值进行排序 关键点:1.取HashMap的Map.Entry,放入List2.利用Collections.sort(List, Comparator<? ... 
- NLog使用整理
			NLog使用中碰到的问题整理 1,日志写mysql数据库报错, 原因: 在sql语句中使用了mysql的函数now() 导致插入失败, 解决办法: 使用参数代替now(). 在nlog配置文件中设置 ... 
- alibaba/druid 下的   密码加密
			使用ConfigFilter cliangch edited this page on 3 Feb · 12 revisions ConfigFilter的作用包括: 从配置文件中读取配置 从远程ht ... 
