将root渲染为null(在DOMless范围内呈现)

时间:2017-07-28 19:02:40

标签: javascript reactjs

我想在根处渲染null,所以我可以拥有一个呈现null的完整树,但只是利用React的组件(+它的生命周期方法)结构。

以下是关于“返回null概念”的一些信息:https://github.com/joshwcomeau/return-null - 来自react conf的照明谈话。

我正在制作一个电子应用程序。在主要范围内,没有dom。在这个主范围(index.js)中我有我的redux存储,我在整个树中返回null,包括root。但是我最初无法渲染它,因为对于初始渲染,我需要像这样使用ReactDOM.render:

function getDecade(number) {
  return (number > 0) ? Math.pow(10, Math.ceil(Math.log10(number))) :
                        -1 * Math.pow(10, Math.ceil(Math.log10(number * -1)));
}

console.log(getDecade(9));
console.log(getDecade(200));
console.log(getDecade(1001));
console.log(getDecade(-9));
console.log(getDecade(-200));
console.log(getDecade(-1001));

我没有DOM,无论如何都要呈现它?

如果我以root身份尝试ReactDOM.render(<AllNullStuff />, document.getElementById('something')) ,我会收到错误:

  

错误:_registerComponent(...):目标容器不是DOM元素。

有没有办法渲染完整的null树,所以不需要DOM?

1 个答案:

答案 0 :(得分:0)

  1. 电子有DOM。
  2. 如果您没有DOM,则表示无法呈现它。如何将DOM渲染到不存在的位置?
  3. 检查p1,你在电子应用程序中有DOM,经过一些配置,它完全等同于网站开发,看起来你做错了。
  4. 你不能拥有树。是的,您可以将null放入任何其他标记中,但null本身不能包含子项。
  5. 喜欢这个。

    如果将null渲染到#root中,它将显示为空标记,但在其内部则不可能。

    render() {
        return null; //how to put child tags in it? No way...
    }