React.DOM.p(null, message) - explain null?
React.DOM.p(null, message) - explain null?
任何人都知道这一行中的null
是什么:
React.DOM.p(null, message);
我知道这是一个方便的包装createElement
,即
ReactElement createElement(
string/ReactClass type,
[object props],
[children ...]
)
但我很难理解为什么type
null
.
这里的这一行也是如此:
React.DOM.div(null, 'Hello World!')
这些函数通常被称为工厂,这意味着它们是生成具有特定类型属性ReactElements
的函数。
这大致是这些工厂在引擎盖下的创建方式:
function createFactory(type) {
return React.createElement.bind(null, type);
}
它将React.createElement
作为绑定函数返回,其中this
绑定到null
,type
绑定到传入的任何内容,允许您为元素创建速记实例化函数:
// create a function that creates React <div> elements
let div = createFactory('div');
// create two divs using the div factory function
let div1 = div({ /* some props */ }, 'Div 1');
let div2 = div({ /* some props */ }, 'Div 2');
React 已经为常见的 HTML 标签(如 div
、li
等)提供了内置工厂,这些问题中已有
但我正在努力理解为什么该类型为 null。
考虑到上述所有内容,当您查看其中一个示例时:
React.DOM.div(null, 'Hello World!')
将发生以下情况:
React.DOM.div
只是一个工厂函数,在引擎盖下将'div'
作为第一个参数传递给React.createElement
,这是类型,其他所有内容都作为剩余参数传递。
基本思路:
// the function is created as a factory
React.DOM.div = createFactory('div');
// and used to create a <div> element
var myDiv = React.DOM.div(null, 'Hello World');
这个值div
作为第一个参数,其设置方式与我在创建此工厂时显示的方式类似。
因此,在您的情况下,null
只是props
对象,而不是type
。类型必然通过工厂div
,这意味着props
是第一个参数,'Hello World!'
字符串是children
参数。
相关文章:
- 数组在递归方法中设置为null
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 无法获取属性'selectedIndex'的未定义引用或null引用
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 来自文本输入null的html javascript变量
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- php代码在textbox更改事件上显示null
- 相同的RegExp返回不同的结果-第一次是正确的结果,第二次是null
- 在php中提交数据时,如果某些值为null,而某些值为非null,如何进行查询
- 未捕获的类型错误:无法读取属性'addEventListener'的null chrome扩展名
- 为什么localStorage[“..”]未定义,而localStorage.getItem(“..”)为null
- ajax在输入等于null时进行检查
- html+javascript:如何在某些条件下禁用dropdownlist中的null选项
- 未捕获的类型错误:无法读取属性'状态'在react中为null
- contentWindow.document.body is null
- 在经过DATE验证的列中创建null值
- 为什么是文档.旧版应用程序中的DOM-object.properties为null
- if(foo!==null)的计算结果为true,即使foo为null
- php函数的ajax html$_POST值返回null
- React.DOM.p(null, message) - explain null?