【发布时间】:2020-10-08 22:32:48
【问题描述】:
我正在尝试拆分我的应用程序中的组件,但在理解如何将状态和道具从我的父组件传递到子组件时遇到了一些麻烦。对于上下文,我的子组件是一个表格,它在行中呈现一个较小的组件。
现在我有一个名为 BookComponents 的常量,它接受一本书并写入状态。我被卡住的地方是将状态和道具传递到我的 BookTable 组件中,以便我可以在书表中而不是在主页中呈现书籍提前感谢您的帮助和提示。
主页:
import React from 'react';
import type { User, BookType } from '/types';
import Book from './Book';
import BookTable from './BookTable';
type Props = {};
type State = {
selectedUser: <User> | null,
books: BookType[]
};
export default class BookPage extends React.PureComponent<Props, State> {
const BookComponents = this.state.book.map((book) => <Book {...book} />);
const selectedUser = this.state.selectedUser;
return (
<div>
<div>
Find Users and their Books
<Selector
input={{
onChange: this.onSelect,
value: selectedUser,
}}
getValue={(user) => user.full_name}
/>
{selectedUser && (
<Section>
<H1>
{selectedUser.full_name}'s Books
</H1>
{BookComponents}
<BookTable/>
</Section>)}
</div>
</div>
)
}
书台代码:
import React from 'react';
import type { User } from '/types';
type Props = {};
type State = {};
export default class BookTable extends React.PureComponent<Props, State> {
render() {
return (
<Section>
<H1>
Print User's books here
</H1>
</Section>
);
}
}
【问题讨论】:
-
我有一个类似问题的答案,How to set one component's state from another component in React,希望对您有所帮助!
-
检查一下,谢谢!
标签: javascript reactjs state react-props