Можете ли вы передать состояние дочерним компонентам с помощью React Hooks? - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь переписать часть своего кода в React Hooks, и мне было интересно, когда я передаю searchData в этом примере ... Будет ли теперь доступ к searchData и setSearchData? Я не понимаю, как работает обход состояния в React Hooks.

import React, { useState, useEffect } from "react";
import SearchBarContainer from "../SearchBar/SearchBarContainer";
import PostContainer from "./PostContainer";



function PostPage(props) {
   const [searchData, setSearchData] = useState([...props.data]);
   const [addLike, setAddLike] = useState([]);

 useEffect(() => {
 setAddLike({ addLike: Array(props.data.length).fill(false) });
  });

return (
  <div>
    <SearchBarContainer data={props.data} searchData={searchData} />

    <div css={parentPostContainer}>
      {searchData.map((dataOnMap, index) => {
        return (
          <PostContainer
            data={dataOnMap}
            addLike={addLike[index]}
            searchData={searchData}
          />
        );
      })}
     </div>
   </div>
 );
}

export default PostPage;

1 Ответ

0 голосов
/ 20 января 2019

Да, что касается передачи реквизита, нет никакой разницы в использовании с React Hooks.В предоставленном вами фрагменте просто передайте setSearchData в качестве реквизита PostContainer.

<PostContainer
  data={dataOnMap}
  addLike={addLike[index]}
  searchData={searchData}
  setSearchData={setSearchData}
/>
...