简评:debug 的时候看到 element 对象中有 $$typeof 这属性,于是查了一下这到底干嘛的。

我们知道,通过 JSX 创建一个 React Elements 时:

  1. <marquee bgcolor="#ffa7c4">hi</marquee>

实际上调用的是 React.createElement 方法:

  1. React.createElement(
  2. /* type */ 'marquee',
  3. /* props */ { bgcolor: '#ffa7c4' },
  4. /* children */ 'hi'
  5. )

该方法会返回一个 React Element 对象,大概长这样:

  1. {
  2. type: 'marquee',
  3. props: {
  4. bgcolor: '#ffa7c4',
  5. children: 'hi',
  6. },
  7. key: null,
  8. ref: null,
  9. $$typeof: Symbol.for('react.element'), //
  10. 随机推荐

      1. 聊一下Python的线程 & GIL
      1. 再来聊一下Python的线程 参考这篇文章 https://www.zhihu.com/question/23474039/answer/24695447 简单地说就是作为可能是仅有的支持多线程的解释 ...

      1. input实时监听控制输入框的输入内容和长度,并进行提示和反馈
      1. 一.前言 MVVM模式下,有个双向数据绑定(data-binding)的优势,可以通过viewmodel实时的监听用户操作,也可以将model的改动实时的反馈到界面上. 那么,在传统的js操控DOM ...

      1. golang apns升级到http2
      1. 记录一下golang中升级apns,使用http2替换http1.1的详细过程. apns使用http2的好处就不用再说了,网上一搜一堆信息.苹果的apns推送在20158月就支持了http2协议, ...

      1. Castle ActiveRecord学习(七)使用日志
      1. 暂无 参考:http://terrylee.cnblogs.com/archive/2006/04/14/374829.html

      1. SDL编程
      1. 一.简介 SDL是一个用C编写的跨平台的多媒体库,它通过OpenGLDirect3D,提供了针对音频.视频.键盘.鼠标.控制杆及3D硬件的低级别的访问接口.它在MPEG播放软件.模拟器以及许多游戏中 ...

      1. [Training Video - 6] [File Reading] Making a Jar file with eclispe, Importing custom jars in SoapUI
      1. Code example : package com.file.properties; import java.io.FileInputStream; import java.util.Propert ...

      1. Sketch插件新利器——使用Mockplus DS制作设计规范
      1. Sketch,作为一款专为图标和界面设计而打造的优质矢量绘图工具,也是设计师们制作和完善公司企业内部设计规范系统不可或缺的设计工具. 然而,逐个导出和上传Sketch编辑优化的设计系统资源费时而费力. ...

      1. curl工具
      1. Linuxcurl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具. 用法: cu ...

      1. ScreenCapture手动卸载教程-Xproer.ScreenCapture
      1. 此教程包含WindowsXP,Windows7(x86) ,Windows7(x64),Firefox,Chrome卸载教程. 1.1. 手动卸载控件-Windows XP 主要步骤如下: 1.关闭所 ...

      1. java并发编程实战:第三章----对象的共享
      1. 我们不仅仅希望防止某个线程使用某个状态时,另一个线程在修改它:我们还希望某个线程修改了某个状态后,其他线程能够看到状态的变化. 一.可见性 重排序:在没有同步的情况下,编译器.处理器可能对代码的执行顺 ...