reactjs - 你可以使用 React Hooks 将状态传递给子组件吗?
问题描述
我正在尝试在 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;
解决方案
是的,就传递 props 而言,与 React Hooks 的使用没有区别。在您提供的片段中,只需将setSearchData
其作为道具传递给PostContainer
.
<PostContainer
data={dataOnMap}
addLike={addLike[index]}
searchData={searchData}
setSearchData={setSearchData}
/>
推荐阅读
- javascript - 单击时单选按钮不执行 JavaScript 操作
- r - 为 r 中的多个水平创建置信区间图
- reactjs - Passing data from same level components React
- javascript - 如何从中获取选定的值
? - mysql - 使用 AND/OR 的 SQL 语句问题
- android - Android:CollapsingToolBar 不会将折叠后出现在工具栏底部的标题的图标设置在一级
- sql-server - 两个同名的 SQL Server 实例?
- php - symfony 2.8 谷歌驱动 api V2
- python - 文件中的空行时中断
- php - 在 Lumen 控制器中验证电子邮件并返回 JSON