我正在尝试添加一个智能组件到我的应用程序中,并且打字稿不断地对我添加足够的道具不停地大叫。以下是我想要添加的代码:我从具有react redux的asp.net核心spa应用程序开始,并一直试图从那里开始构建。React组件丢失道具元素
<Layout>
<Route exact path='/' component={ Home } />
<Route path='/counter' component={ Counter } />
<Route path='/fetchdata/:startDateIndex?' component={ FetchData } />
</Layout>;
type LayoutProps = LayoutState.LayoutState
& typeof LayoutState.actionCreators;
class Layout extends React.Component<LayoutProps, {}> {
componentWillMount() {
this.props.requestNavigationLinks();
}
public render() {
return <Grid fluid>
<Row>
<Col sm={3}>
<NavMenu links={this.props.links}/>
</Col>
<Col sm={9}>
{this.props.children}
</Col>
</Row>
</Grid>;
}
}
export default connect(
(state: ApplicationState) => state.layout,
LayoutState.actionCreators
)(Layout) as typeof Layout;
export interface LayoutState {
isLoading: boolean;
links: string[];
}
我遇到的问题是打字稿抱怨标签缺少属性被分配到它的道具。连接语句不会自动处理这个?
我相信这是我很想念的东西,你的帮助表示赞赏。
对不起,我没有包括LayoutProps的定义,它几乎就像你刚刚使用的函数类型。它实际上是抱怨isLoading丢失了,如果我添加它,然后它抱怨链接并最终requestNavigationLinks。 –
不用担心。我找到了一篇有用的文章,可以帮助你:http://www.sohamkamani.com/blog/2017/03/31/react-redux-connect-explained/。阅读“连接”部分。它可能会发现你的问题缺失的一块。 – cbolgiano