React Router V4-道具未从父组件传递到this.props.children

时间:2019-06-28 03:18:38

标签: javascript reactjs react-redux react-router

使用react-router v4时,React.cloneElement不会将prop传递给子组件。我正在获取历史记录和位置道具。只是没有从mapStateToProps得到任何动作或道具。

使用react-router v3时工作正常...仅当我更新版本时才传递道具。


class Main extends React.Component{
  render(){
    var clonedElements = React.cloneElement(this.props.children, this.props);
    return(
      <div>
        <h1>
          <Link className='headLine'  to='/'><img src='https://i.imgur.com/DFkO2gb.png'/></Link>
          <p className='disclosure'>....</p>
        </h1>
          {clonedElements}
      </div>
    )
  }
}


const router = (
    <Provider store={store}>
        <Router history={history}>
            <App>
         <Switch>
              <Route exact render={props => <CardsGrid {...props} /> }></Route>
              <Route exact path='/view/:postId' component={Single}></Route>
         </Switch>
            </App>
        </Router>
    </Provider>
) 


function mapStateToProps(state){
    return {
        posts: state.posts,
        comments: state.comments
    }
}

function mapDispatchToProps(dispatch){
    return bindActionCreators(actionCreators, dispatch);
}

const App = withRouter(connect(mapStateToProps, mapDispatchToProps)(Main));

export default App;

我希望看到由初始状态设置的2个道具作为道具。我现在什么都看不到。

0 个答案:

没有答案