如果确实有人问过这个问题,我会提前道歉,我有一个由子组件组成的组件,但是后来我发现我需要引用父组件具有{type}的属性之一,是有没有一种方法可以访问MetaInfoDocViewer中的类型?
我尝试在YearlyTaxStatement中创建一个状态并将该状态传递给metaDocViewer: <MetaInfoDocViewer type={this.state.type}/>
,但该值未定义
export default class YearlyTaxStatementOverview extends React.Component {
render() {
return <GeneralDocPresenter type={'income'}
fetchMetaDocs={() => getMetaInfoByType('income-tax')}
loadDocument={(id) => getYearTaxStatement(id)}
eventManager={new EventManager()}
settings={{
columnSize: 3
}}
childComponents={{
metaDocViewer: MetaInfoDocViewer,
metaView: MetaInfoView
}}
/>
}
class MetaInfoDocViewer extends React.Component {
state = {
send: false
};
render() {
const sendModal = <SendModal type={i need type here } onClose={() => {this.setState({send: false})}}
docIds={this.props.selectedDocsStore.selectedDocs}/>;
答案 0 :(得分:0)
说实话,我确实无法遵循您的代码。但是答案是您可以将其作为道具发送。
或者如果您必须在多个地方使用它,则可以将其保存在Redux Store中,然后可以从连接它的每个组件访问该状态。
const mapStateToProps = (state) => {
return {
type: state.type
};
};
.
.
.
export default connect(mapStateToProps)(COMPONENT NAME);