reactjs - React hooks 从子组件设置父数据
问题描述
我是 React 的新手。
我从父数据中获取记录数组并尝试使用 setRecords 更新记录数据。有没有办法从子状态更新父状态?
{
homeTeamName: "Blue"
homeTeamId: 1
homeScore: 1
awayTeamName: "Red"
awayTeamId: 2
awayScore: 1
scheduledAt: "2020-01-01T00:00:00"
location: "Fort Lee, NJ"
league: null
leagueId: 1
club: null
clubId: 1
matchRecords: Array(4)
0: {scoreMemberId: 2, scoreMemberName: "Jake Kwon2", scoreTeamId: 1, assistMemberId: 1, assistMemberName: "Jake Kwon1", …}
1: {scoreMemberId: 1, scoreMemberName: "Jake Kwon1", scoreTeamId: 1, assistMemberId: 2, assistMemberName: "Jake Kwon2", …}
2: {scoreMemberId: 3, scoreMemberName: "Jake Kwon3", scoreTeamId: 2, assistMemberId: 4, assistMemberName: "Jake Kwon4", …}
3: {scoreMemberId: 4, scoreMemberName: "Jake Kwon4", scoreTeamId: 2, assistMemberId: 3, assistMemberName: "Jake Kwon3", …}
}
const RecordItem = ({ record, teamId, memberOptions, isAdmin }) => {
const [records, setRecords] = useState(record);
const { scoreMemberId, scoreMemberName, assistMemberId, assistMemberName } = records;
useEffect(() => {
setRecords(record)
}, [record]);
<CustomDropdown
name='member'
value={scoreMemberId}
handleChange={member => setRecords({ ...records, scoreMemberId: member.value })}
options={memberOptions.filter(member => member.teamId === teamId)}
required
/>
解决方案
推荐阅读
- reactjs - 如果用户已经在重定向页面上,history.push 正在执行额外的重定向,并忽略搜索参数
- java - 有人可以解释我的(非常差的)MergeShift 函数中的错误吗?
- python - 使用 BS4 刮取查看更多结果
- ruby-on-rails - Rails API:redirect_to 不会像访问同一端点时那样呈现视图 (JSON)。如何在 API 中正确重定向?
- mysql - NodeJS:插入 MySQL 错误“无法读取 null 的属性‘查询’”
- cypress - 为什么赛普拉斯测试无法在子窗口中触发脚本?
- node.js - Discord.js 命令冷却时间
- c# - 高级截屏方法
- eclipse - 内容辅助不适用于eclipse中的joinfaces组件
- python - 如何在类中分配计数器属性?