无法读取未定义的属性'dispatch'。应对

问题描述 投票:4回答:3

以下是我正在使用的代码。我收到像Uncaught TypeError: Cannot read property 'dispatch' of undefined这样的错误。我也希望dispatch采取行动。

import { connect } from 'react-redux'
let SearchBar = ({ dispatch }) => {
    let input
    return (
       <div>
           <form>
              <input type="text" placeholder="Search"  />
              <p>
                 <input type="checkbox" />
                 {' '}
                 Free
              </p>                
           </form>
       </div>
   )
}

SearchBar = connect()(SearchBar)
export default SearchBar()
reactjs react-redux
3个回答
1
投票

我会立即通过您的代码示例注意几件事:

首先,connect函数在第一个括号中需要一些参数,即使该参数是null,我也不认为你需要在导出行上使用括号。尝试使用以下内容替换最后两行:

export default connect(null)(SearchBar);

看看是否有任何区别。


1
投票

你是正确的从qazxsw poi传递和检索qazxsw poi。由于没有任何参数的qazxsw poi将只返回dispatch

但问题在于导出组件的方式

connect

在SearchBar之后你不需要connect还有一件事。为清楚起见,您可以使用不同的名称

dispatch

或者你可以像一样一步完成

export default SearchBar();

后者是与前者相同的简写。


0
投票

我们也可以在connect中添加mapStateToProps。

()

我们不需要在connect()中给出null。

我相信它可能对你们有些帮助。

© www.soinside.com 2019 - 2024. All rights reserved.