Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React.DOM.p(null,消息)-解释null?_Javascript_Reactjs - Fatal编程技术网

Javascript React.DOM.p(null,消息)-解释null?

Javascript React.DOM.p(null,消息)-解释null?,javascript,reactjs,Javascript,Reactjs,任何人都知道这行中的null是什么: React.DOM.p(null, message); 我知道它是createElement周围的一个方便的包装,即 ReactElement createElement( string/ReactClass type, [object props], [children ...] ) 但是我很难理解为什么类型是null 这一行也是如此: React.DOM.div(null, 'Hello World!') 这些函数通常被称为,这意味着

任何人都知道这行中的
null
是什么:

React.DOM.p(null, message);
我知道它是
createElement
周围的一个方便的包装,即

ReactElement createElement(
  string/ReactClass type,
  [object props],
  [children ...]
) 
但是我很难理解为什么
类型
null

这一行也是如此:

React.DOM.div(null, 'Hello World!')

这些函数通常被称为,这意味着它们是生成具有特定类型属性的元素的函数

这大概就是这些工厂在幕后创建的方式:

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.DOM.div
只是一个工厂函数,它在后台将
'div'
作为第一个参数传递给React.createElement,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');
//函数是作为工厂创建的
React.DOM.div=createFactory('div');
//用于创建一个元素
var myDiv=React.DOM.div(null,“Hello World”);
作为第一个参数的
div
值的设置方式与创建此工厂时的设置方式类似


因此,在您的例子中,
null
只是
props
对象,而不是
类型
。类型通过工厂绑定为
div
,这意味着
props
是第一个参数,
'Hello World!'
string是
children
参数。

很好的答案。在最后一段中,我假设您的意思是将'div'作为第一个参数传递给CreateFactoryThank,很高兴提供帮助。事实上我不这么认为,我已经做了一个编辑来澄清:)
// 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');