" withRouter"的问题和redux" connect()"

时间:2017-11-07 17:59:05

标签: javascript reactjs react-router react-redux react-router-v4

我正在尝试使用react-redux应用程序实现react-router,但我收到此错误消息:

  

布局(...):渲染没有返回任何内容。这通常意味着缺少return语句。或者,为了不渲染,返回null。

我从redux网站的tutorial复制粘贴了所有内容,并添加了我现有的redux-using组件。

我的Layout.js:



import React from "react"
import { connect } from "react-redux"
import { withRouter } from 'react-router-dom'

import { fetchIdeas } from "../actions/ideasActions"

import Ideas from "../components/Ideas"


class Layout extends React.Component {
  componentWillMount() {
    this.props.dispatch(fetchIdeas())
  }

  render() {
    const { ideas } = this.props;
    return 
      <div>
        <h1>Test</h1>
        <Ideas ideas={ideas}/>
      </div>
  }
}

export default withRouter(
  connect((store) => {
	return {
	  ideas: store.ideas,
	};
  })(Layout)
)
&#13;
&#13;
&#13;

我究竟做错了什么?我无法找到我的错误。

1 个答案:

答案 0 :(得分:2)

经典JavaScript错误。 return不能像这样独立。

return // returns undefined
  <div>
    <h1>Test</h1>
    <Ideas ideas={ideas}/>
  </div>

修复!

return (
  <div>
    <h1>Test</h1>
    <Ideas ideas={ideas}/>
  </div>
)