Как преобразовать этот компонент в компонент функции? - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь преобразовать компонент класса в компонент функции. Но это немного сложно для меня. Не могли бы вы помочь мне?

Я пытался сделать это, но это не сработало:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import MovieCardsList from './MovieCardsList';

function (
  props.profiles
  props.movies
  props.users
) {
 return (
      <div>
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">ReactND - Coding Practice</h1>
        </header>
        <h1>How Popular is Your Favorite Movie?</h1>
        <MovieCardsList profiles={profiles} movies={movies} users={users} />
      </div>
    ); 
  }

export default App;

Вот часть кода:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import MovieCardsList from './MovieCardsList';

class App extends Component {
  render() {
    return (
      <div>
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">ReactND - Coding Practice</h1>
        </header>
        <h1>How Popular is Your Favorite Movie?</h1>
        <MovieCardsList profiles={profiles} movies={movies} users={users} />
      </div>
    );
  }
}

export default App;

Я близок крешение? Любая помощь, я ценю. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 26 октября 2019

С минимальными изменениями:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import MovieCardsList from './MovieCardsList';

function App(props) {
   return (
      <div>
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">ReactND - Coding Practice</h1>
        </header>
        <h1>How Popular is Your Favorite Movie?</h1>
        <MovieCardsList profiles={props.profiles} movies={props.movies} users={props.users} />
      </div>
    ); 
  }

export default App;

Вы также можете использовать {...props} распространение объекта, чтобы установить их в MovieCardsList или деконструкцию объекта ({ profiles, movies, users }), чтобы заменить (props). Как бы я лично это сделал:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import MovieCardsList from './MovieCardsList';

export default ({ profiles, movies, users }) => (
  <div>
    <header className="App-header">
      <img src={logo} className="App-logo" alt="logo" />
      <h1 className="App-title">ReactND - Coding Practice</h1>
    </header>
    <h1>How Popular is Your Favorite Movie?</h1>
    <MovieCardsList profiles={profiles} movies={movies} users={users} />
  </div>
);
0 голосов
/ 26 октября 2019

Либо принимайте реквизиты в качестве аргумента:

function App = (props) => {
    cosnt {profiles, movies, users} = props
    return <div/>
}

, либо сразу же деструктурируйте их

function App = ({profiles, movies, users}) => {
    return <div/>
}

Полный код:

import React from 'react';
import logo from './logo.svg';
import './App.css';
import MovieCardsList from './MovieCardsList';

function App = ({profiles, movies, users}) => {
    return (
      <div>
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">ReactND - Coding Practice</h1>
        </header>
        <h1>How Popular is Your Favorite Movie?</h1>
        <MovieCardsList profiles={profiles} movies={movies} users={users} />
      </div>
    );
}

Экспорт по умолчанию для приложения;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...