Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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_Class_Reactjs_Components_Stateless - Fatal编程技术网

Javascript 没有函数或类的组件?

Javascript 没有函数或类的组件?,javascript,class,reactjs,components,stateless,Javascript,Class,Reactjs,Components,Stateless,有时,我看到并编写了一些像这样的React代码 const text = ( <p> Some text </p> ); const text=( 一些文本 ); 这确实有效,但这有什么问题吗 我知道我不能用这种方式使用道具,但如果我所做的只是呈现一些简单的东西,比如一个段落,我不明白为什么我需要将它变成一个功能组件或扩展React.component 我目前这样做的原因是,我需要以占位符文本的形式传入一两个段落,而不能只传入纯文本。这不是反应组件

有时,我看到并编写了一些像这样的React代码

const text = (
  <p>
    Some text
  </p>
);
const text=(

一些文本

);
这确实有效,但这有什么问题吗

我知道我不能用这种方式使用道具,但如果我所做的只是呈现一些简单的东西,比如一个段落,我不明白为什么我需要将它变成一个功能组件或扩展
React.component


我目前这样做的原因是,我需要以占位符文本的形式传入一两个段落,而不能只传入纯文本。

这不是反应组件,它只是一个存储
JSX
的变量:

const text = (
   <p>
      Some text
   </p>
);
其中包括:

var a = React.createElement(
  "div",
  null,
  " Hello "
);

这段代码只是将包含文本的段落元素存储到变量
text
中。它不是一个组件,不管是功能性的还是其他的。在React组件中使用它,就像使用标准Javascript一样:

render() {
    return (
        <div className="some-text">
            { text }
        </div>
    );
}
render(){
返回(
{text}
);
}

我认为这样使用它是最好的做法,因为您希望获得最佳性能,同时也希望以最短的方式编写代码。你的元素不使用道具,只是一种表象,所以最好尽可能地将其最小化。这是一个反应元素。如果范围中没有
React
,则无法将其分配给变量。
var a = React.createElement(
  "div",
  null,
  " Hello "
);
render() {
    return (
        <div className="some-text">
            { text }
        </div>
    );
}