Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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 在probs上使用js类_Javascript_Reactjs_Oop_React Redux_Jsx - Fatal编程技术网

Javascript 在probs上使用js类

Javascript 在probs上使用js类,javascript,reactjs,oop,react-redux,jsx,Javascript,Reactjs,Oop,React Redux,Jsx,我在学习反应是为了一种爱好,我有一个问题 许多人在使用react时会为组件创建一个函数,并且它工作得很好。它们使用(prob)指定组件的每个“子级”,如下所示: function Foo(probs) { // react stuff with those probs } import React from "react"; import ReactDOM from "react-dom"; const firstbook = { titl

我在学习反应是为了一种爱好,我有一个问题

许多人在使用react时会为组件创建一个函数,并且它工作得很好。它们使用(prob)指定组件的每个“子级”,如下所示:

function Foo(probs) {
    // react stuff with those probs
}
import React from "react";
import ReactDOM from "react-dom";

const firstbook = {
  title: "some title",
  autor: "someone",
  img: "some url",
};

function Booklist() {
  return (
    <div>
      {new Book(firstbook)}
    </div>
  );
}

class Book {
  constructor(data) {
    this.title = data.title;
    this.autor = data.autor;
    this.img = data.img;

    return (
      <div className="book">
        <h1>{this.title}</h1>
        <h2>{this.autor}</h2>
        <img src={this.img} alt=""></img>
      </div>
    );
  }
}

function render() {
  ReactDOM.render(<Booklist />, document.getElementById("root"));
}
render();
它工作得很好,但你知道我想要什么吗?面向对象编程

因此,我没有为每个类创建函数并在主函数中指定它们,而是为每个组件创建一个类,如下所示:

function Foo(probs) {
    // react stuff with those probs
}
import React from "react";
import ReactDOM from "react-dom";

const firstbook = {
  title: "some title",
  autor: "someone",
  img: "some url",
};

function Booklist() {
  return (
    <div>
      {new Book(firstbook)}
    </div>
  );
}

class Book {
  constructor(data) {
    this.title = data.title;
    this.autor = data.autor;
    this.img = data.img;

    return (
      <div className="book">
        <h1>{this.title}</h1>
        <h2>{this.autor}</h2>
        <img src={this.img} alt=""></img>
      </div>
    );
  }
}

function render() {
  ReactDOM.render(<Booklist />, document.getElementById("root"));
}
render();
从“React”导入React;
从“react dom”导入react dom;
const firstbook={
标题:“一些标题”,
“某人”,
img:“一些url”,
};
函数Booklist(){
返回(
{新书(第一册)}
);
}
课堂用书{
建造师(数据){
this.title=data.title;
this.autor=data.autor;
this.img=data.img;
返回(
{this.title}
{this.autor}
);
}
}
函数render(){
render(,document.getElementById(“根”));
}
render();
问题是,这样可以吗?我不太了解反应,我害怕在处理过程中遇到一些问题。或者不能对每个组件都这样做。
请帮我找出答案!顺便说一句,很抱歉我的英语不好。

对于JavaScript,您使用的类或函数组件没有区别,因为这没关系。但是对于来自地球的人来说,用这两种方法来创建组件是相当麻烦的。最好使用functional,因为它更现代。如果你没有听说过ES6,试着滥用它。无论如何,祝你学习顺利

谢天谢地的那种奇怪的函数式编程根本不是一个现代概念。但它更实用;如果设计正确,您最终会得到可重用组件,这些组件可以应用于截然不同的用例。