React源码阅读-9继续阅读React16.8.6的源码相当于学习笔记。虽然工作中的技术都是和react相关的,但是80%的技术都比较少涉及,导致对react的理解比较片面。一些reactapi很少使用。通过阅读react,系统的熟悉了所有的reactapi和一些相关的特性使用场景。继续跟着官方文档和react.js阅读源码。一些准备工作官方投稿指南https://zh-hans.reactjs.org/d...ReactSymbolsSymbolusedtotagtheReactElement-liketypes用于标记ReactElement-likeSymbol的类型;if如果没有原生的Symbol符号或者polyfill,则使用普通的数字来表示。使用的数字是十六进制的;consthasSymbol=typeofSymbol==='function'&&Symbol.for;Symbol.for(key)方法会在运行时根据给定的keykey从symbolregistry中找到对应的symbol,如果找到则返回,否则创建一个与key相关联的新symbol放入全局symbol注册表。返回给定键找到的符号,否则返回新创建的符号。与Symbol()的不同之处在于,使用Symbol.for()方法创建的符号将放置在全局符号注册表中。Symbol.for()不会每次都创建一个新的符号,它首先检查给定的键是否已经在注册表中。如果是,则直接返回上次存储的那个。否则,它将创建一个新的exportconstREACT_ELEMENT_TYPE=hasSymbol?Symbol.for('react.element'):0xeac7;exportconstREACT_PORTAL_TYPE=hasSymbol?Symbol.for('react.portal'):0xeaca;exportconstREACT_FRAGMENT_TYPE=hasSymbol?Symbol.for('react.fragment'):0xeacb;exportconstREACT_STRICT_MODE_TYPE=hasSymbol?Symbol.for('react.strict_mode'):0xeacc;为了保持一致性,元素中仍然会定义$$typeof属性,但是会被设置为number类型的值——0xeac7等。https://juejin.im/entry/5c170...解决疑惑和防止xss注入攻击https://developer.mozilla.org...
