@miks2020

Как пройтись циклом по api в реакт компоненте?

Плиз хелп, мне нужно пройтись циклом внутри компонента
<Cars data={this.state.items} />
и возвратить компоненты
<Route path={"/cars/" + item.id} component={Car}/>
в компоненте Car соответственно нужно получить данные с сервера( массив обьектов )
я не могу использовать api в общем.
код:
const columns = [
  {
    title: 'Наименование авто',
    dataIndex: 'carname',
    key: '1',
  },
  {
    title: 'Автомобили',
    dataIndex: 'car',
    key: '2',
     render: (name, id) => <Link to={'/cars/'+id.key}>{name}</Link>,
  },
  {
    title: 'Дата',
    dataIndex: 'date',
    key: '3',
  }
];
const Cars = () => (
  <Switch>
    <Route path={"/cars/"+???} component={Car}/>
  </Switch>
)
const Car = () => {
	return (
		<div>
			<img src={???} width={"150px"}/>
			<h3>{имя}</h3>
			<Link to={'/'}><b>BACK</b></Link>
		</div>
	)
}
class ContentFeed extends React.Component {
	constructor(){
		super()
		this.state = {
			items:[]
		}	 
	}	
	componentDidMount(){
		this.getItems();
	}
	getItems(){
		fetch(url)
			.then(response => response.json())
			.then(response => this.setState({items: response}))
	}
	render(){
		return (
			<Router history={history}>
				<Table columns={columns} dataSource={this.state.items}/>
				<Сars />
			</Router>
		);
	}
}

export default ContentFeed;
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
1. Для того чтобы научиться отображать списки почитайте:
Списки и ключи
2. Вам достаточно всего одного роута с параметром. Почитать:
Responsive routes
3.
я не могу использовать api в общем

"Не могу" это нельзя, нет доступа или не умею? Если последнее, то:
AJAX и обращение к API (тут можно использовать хук useEffect)
Использование хука эффекта
Использование Fetch API
Axios: Example
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект