首页  >  问答  >  正文

有没有了解性别和您的性取向之间的区别?

<p>在Inferno中,当尝试在编译时定义子元素形状时,有两种定义子元素为文本的方式:</p> <pre class="brush:php;toolbar:false;">function Hello() { let h = "Hello"; return ( <p $HasTextChildren> {h} </p> ); }</pre> <pre class="brush:php;toolbar:false;">import { createTextVNode } from "inferno"; function Hello() { let h = "Hello"; return ( <p $HasVNodeChildren> {createTextVNode(h)} </p> ); }</pre> <p>这两种方式有什么区别?</p>
P粉562845941P粉562845941432 天前431

全部回复(1)我来回复

  • P粉762730205

    P粉7627302052023-08-16 00:19:42

    就最终结果而言,没有区别。然而,性能方面,前者稍微快一点。但是限制是子元素必须只能是文本。可能有情况下你想要文本其他内容作为子元素。在这种情况下,你可以使用createTextVNode()和适当的标志之一,其中之一是$HasVNodeChildren。你可以在文档中看到标志的列表:https://www.infernojs.org/docs/guides/optimizations

    作为额外的说明,如果编译器在编译时可以看到它,你不必自己定义子元素的形状。所以,不需要这样写:

    function Hello() {
      return <p $HasTextChildren>Hello</p>;
    }

    你可以简单地写成:

    function Hello() {
      return <p>Hello</p>;
    }

    回复
    0
  • 取消回复