Как передать ссылку на компонент с помощью map () - PullRequest
0 голосов
/ 03 августа 2020

У меня есть компонент карты, который генерируется с данными из запроса graphql и map (). Я хочу иметь возможность добавить ссылку на последнюю созданную карту, чтобы я мог использовать API InteserctionObserver для загрузки большего количества карт, когда пользователь прокручивает до последней карты на экране, как я могу передать ссылку на последнюю карту?

это мой код

const IndexPage = ({ data }) => {

const [currentIndex, setIndex] = useState(3)
const [element, setElement] = useState(null)
console.log("element", element)

 return (
<div className="article-cards">
          {data.allStrapiArticle.nodes
            .slice(0, currentIndex)
            .map((article, index, cards) => {
              return (
                <Card
                  id={article.id}
                  title={article.title}
                  category={article.categories}
                  author={article.author.name}
                  content={article.content}
                  imgUrl={article.cover.publicURL}
                  date={article.created_at}
                  slug={article.slug}
                  ref={index == currentIndex ? setElement : null}
                />
              )
            })}
        </div>
)

1 Ответ

0 голосов
/ 03 августа 2020
const IndexPage = ({ data }) => {

const [currentIndex, setIndex] = useState(3)
const element = React.useRef(null)

React.useEffect(() => {
console.log("new Element", element.current)
}, [element.current])

 return (
<div className="article-cards">
          {data.allStrapiArticle.nodes
            .slice(0, currentIndex)
            .map((article, index, cards) => {
              return (
                <Card
                  id={article.id}
                  title={article.title}
                  category={article.categories}
                  author={article.author.name}
                  content={article.content}
                  imgUrl={article.cover.publicURL}
                  date={article.created_at}
                  slug={article.slug}
                  ref={index == currentIndex ? element : null}
                />
              )
            })}
        </div>
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...