#javascript #reactjs
#javascript #reactjs
Вопрос:
Я хочу создать компонент, который будет заполнен твитами.
Я создаю массив под названием «твиты», и я хотел бы получить доступ к массиву в return(). Я знаю о отображении, но есть ли способ просто отобразить его на странице? Я думал, что это будет похоже на {this.props.name } или просто {props.name } но это ничего не отображает на странице.
Как я могу ссылаться на реквизиты моей страницы в том же компоненте?
Tweets.js
import React from 'react';
const Tweets = (props) => {
const tweets = [
{name: 'Name 1',
tweet:'This is a tweet!'},
{name:'Name 2',
tweet:'This is another tweet'},
{name:'Name 3',
tweet:'This is yet another tweet!'},
]
return (
<section>
<h1>{this.props.name}</h1>
</section>
)
}
export default Tweets;
Комментарии:
1. Как указано ниже, функциональные компоненты не имеют this.props . Вы поместили параметр props в определение функции, а затем проигнорировали его. Но данные все равно не в props.
Ответ №1:
Ваши твиты находятся внутри самого компонента, они не поступают из props. Таким образом, вы можете получить доступ к одному значению с помощью чего-то вроде этого:
{tweets[0].name}
Если вы хотите отобразить их все, вы можете сделать что-то вроде этого:
return (
<section>
{
tweets.map(({name, tweet}) => (
<div>
<h1>{name}</h1>
<p>{tweet}</p>
</div>
))
}
</section>
)