【发布时间】:2020-06-01 14:45:11
【问题描述】:
我开始使用 TypeScript 学习 React,今天遇到了一个问题 - 我无法在不传递数据的情况下连接到组件。
例如
import React from 'react';
import './App.css';
import Header from './components/Header';
import { PostInterface } from './pages/Posts';
import { Route, Switch } from 'react-router-dom';
import FullPost from './pages/FullPost';
import { BrowserRouter } from 'react-router-dom';
import PostsContainer from './pages/PostsContainer';
const App: React.FC = () => {
return (
<div className="App">
<BrowserRouter>
<Switch>
<Route exact path="/">
<Header image="https://www.linagro.tn/images/slider/slides/1920x400/southern-alps-1920x400.png" text="posts" />
<PostsContainer />
</Route>
<Route path="/posts/:id">
<Header image="https://www.linagro.tn/images/slider/slides/1920x400/southern-alps-1920x400.png" text="post" />
<FullPost text="Post" title="It's my post" createdAt={Date.now} author="noname" />
</Route>
</Switch>
</BrowserRouter>
</div>
);
}
export default App;
我想渲染 PostsContainer 而不传递任何道具,因为组件将使用 connect 和 react redux 获取道具
import React, { Component } from 'react'
import { connect } from 'react-redux'
import Posts from './Posts';
class PostsContainer extends Component {
render() {
return (
<Posts posts={this.props.posts} />
)
}
}
const mapStateToProps = (state: any) => {
return {
posts: state.posts
}
}
export default connect(mapStateToProps, null)(PostsContainer);
我收到两个错误:
类型'Readonly & Readonly'。 对象可能是“未定义”。
如何在不传递数据的情况下呈现 PostsContainer?
【问题讨论】:
标签: reactjs typescript react-redux