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 什么是空的?_Javascript_Reactjs - Fatal编程技术网

Javascript 什么是空的?

Javascript 什么是空的?,javascript,reactjs,Javascript,Reactjs,这个节点是什么?为什么它可以渲染为React组件?这样怎么办 这实际上是: //完全有效的组件 ()=>空 //也是一个非常有效的组件 常量MyComponent=React.createClass({ render(){ if(this.props.hidden)返回null; 返回我的组件实现; } }); 查看React代码的这一部分,它是创建以下内容的代码: var nodeValue = ' react-empty: ' + this._domID + ' '; if (tra


这个节点是什么?为什么它可以渲染为React组件?这样怎么办

这实际上是:

//完全有效的组件
()=>空
//也是一个非常有效的组件
常量MyComponent=React.createClass({
render(){
if(this.props.hidden)返回null;
返回我的组件实现

; } });
查看
React
代码的这一部分,它是创建以下内容的代码:

var nodeValue = ' react-empty: ' + this._domID + ' ';
    if (transaction.useCreateElement) {
      var ownerDocument = hostContainerInfo._ownerDocument;
      var node = ownerDocument.createComment(nodeValue);
      ReactDOMComponentTree.precacheNode(this, node);
      return DOMLazyTree(node);
    } else {
      if (transaction.renderToStaticMarkup) {
        // Normally we'd insert a comment node, but since this is a situation
        // where React won't take over (static pages), we can simply return
        // nothing.
        return '';
      }
      return '<!--' + nodeValue + '-->';
    }
  },
var nodeValue='react empty:'+this.\u domID+';
if(transaction.useCreateElement){
var ownerDocument=hostContainerInfo.\u ownerDocument;
var node=ownerDocument.createComment(nodeValue);
ReactDOMComponentTree.Precchenode(此节点);
返回DOMLazyTree(节点);
}否则{
if(transaction.renderToStaticMarkup){
//通常我们会插入注释节点,但由于这是一种情况
//如果React无法接管(静态页面),我们可以简单地返回
//没什么。
返回“”;
}
返回“”;
}
},

因此,基本上如果组件返回null,它将创建一条注释,显示此元素为空,但请注意,如果您购买了注释,请在那里放置注释
所有JavaScript框架都会尝试在DOM中使用注释,以显示它们处理代码,类似的一个是ng,例如在angular中…

注意,
React>=16
,您将不会再看到

哇!感谢如果我使用ajax获取服务器渲染组件字符串(如“”),我希望将其装载在此节点中。怎么做。
// A perfectly valid component
() => null

// Also a perfectly valid component
const MyComponent = React.createClass({
  render() {
    if (this.props.hidden) return null;
    return <p>My component implementation</p>;
  }
});
var nodeValue = ' react-empty: ' + this._domID + ' ';
    if (transaction.useCreateElement) {
      var ownerDocument = hostContainerInfo._ownerDocument;
      var node = ownerDocument.createComment(nodeValue);
      ReactDOMComponentTree.precacheNode(this, node);
      return DOMLazyTree(node);
    } else {
      if (transaction.renderToStaticMarkup) {
        // Normally we'd insert a comment node, but since this is a situation
        // where React won't take over (static pages), we can simply return
        // nothing.
        return '';
      }
      return '<!--' + nodeValue + '-->';
    }
  },