es6中import和export的用法

背景知识

谨记:import进来的代码就会被执行,比如:

import App from './App';
import config from './config';
const store = createStore(reducer);
  1. 当import config的时候,config里的代码就被执行,而App是一个函数,也被加入到内存中,只是被渲染的时候执行而已;

  2. 当创建store的时候config里的代码已经执行完;

  3. import采用的是单例模式,只被执行一次;

  4. App.defaultProps = { name: ‘aa’ }, 其中在App的defaultProps里定义的变量其实是全局变量,之所以用defaultProps是因为React早期是Class组件,定义全局变量不方便(如果定义在render还是函数作用域),而函数组件就其实可以不用defaultProps,直接定义全局变量。

    // let name = 'aa'; // 等价下面的defaultProps
    function App() {
         
    	return (
    		<div>aa</div>
    	)
    }
    App.defaultProps = {
         
    	name: 'aa'
    }
    
    1. a.js里的list为全局遍历,因为被a引用着,a为全局变量。所以输出结果为1 和 1 2
    2. export 出去的A,为一个函数
      在这里插入图片描述
    // main.jsx
    import {
          A } from './a.js';	
    export default function Main() {
         
        console.log(A)
        return (
            <Provider store={
         store()}>
                <A>1</A> // 1
                <A>2</A> // 12
            </Provider>
        );
    }
    
    // a.js
    let a = [];
    const A = ({
           list = a, children }) => {
         
        list.push(children);
        return (
            list.map(item => item)
        );
    };
    console.log('cccccc')
    
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

. . . . .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值