Вопрос
откуда он знает, что он должен получать данные из файла семян evo1?
Если вопрос заключается в том, как пользовательский интерфейс выбирает и отображает данные ответа
getClassics
from ../api/api
Выполняется запрос GET для получения массива кораблей.
Остальное лежит в EvolutionPart1
. У вас есть пустой массив в качестве начального состояния classicShips
, поэтому, когда компонент монтируется, он может отображать пустой массив. также при монтировании он вызывает this.setUpClassics
, который является служебной функцией для вызова функции API getClassics
сверху. Когда эта выборка разрешается и возвращает массив данных о корабле, он this.setState({ classicShips: res })
обновляется. Это вызывает повторную визуализацию компонента и отображение новых данных.
EvolutionPart1
class EvolutionPart1 extends React.Component {
constructor(props) {
super(props);
this.state = {
classicShips: [], // <-- (1) initial empty array
};
this.setUpClassics = this.setUpClassics.bind(this);
}
componentDidMount() {
this.setUpClassics(); // <-- (2) fetch ship data
}
setUpClassics() {
getClassics().then(res => {
this.setState({
classicShips: res // <-- (3) setState
});
});
}
render() {
return (
...
<div className="evoContainer">
{this.state.classicShips.map(ship => { // <-- (4) map ship data to JSX
return (
<div className="evosShips" key={ship.id}>
<h3>{ship.ship_name}</h3>
<img src={ship.img} title={ship.img_title} />
<p>Find out more on {ship.ship_name} , Click on image</p>
<p>{ship.ship_name} Ship Horn</p>
</div>
);
})}
...
);
}
}
Если вопрос в том, как сервер знает, как загрузить файл evo1
seed