Reactjs 无法读取属性';调度';未定义的';。反应
下面是我正在使用的代码。我收到一个错误,如Reactjs 无法读取属性';调度';未定义的';。反应,reactjs,react-redux,Reactjs,React Redux,下面是我正在使用的代码。我收到一个错误,如uncaughttypeerror:无法读取未定义的属性“dispatch”。我还想发送一个动作 import { connect } from 'react-redux' let SearchBar = ({ dispatch }) => { let input return ( <div> <form> <input type="tex
uncaughttypeerror:无法读取未定义的属性“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()
从'react redux'导入{connect}
让搜索栏=({dispatch})=>{
让输入
返回(
{' '}
自由的
)
}
搜索栏=连接()(搜索栏)
导出默认搜索栏()
通过您的代码示例,我立即注意到以下几点:
首先,connect
函数需要在第一个括号中包含一些参数,即使该参数为null
,我也认为您不需要在导出行中使用括号。尝试用以下内容替换最后两行:
export default connect(null)(SearchBar);
看看这是否有什么不同。您从连接中传递并重新获得调度
是正确的。不带任何参数的Asconnect
将只返回dispatch
但是,问题在于导出组件的方式
export default SearchBar();
在搜索栏和其他东西之后,您不需要()
。为了清楚起见,您可以使用不同的名称,如
var search = connect()(SearchBar)
export default search;
或者你可以像这样一步到位
export default connect()(SearcBar);
后者是前者的简写形式。我们也可以在connect中添加MapStateTrops。
const mapStateToProps = state => ({
uData: state
});
export default connect(mapStateToProps)(App);
我们不需要在connect()中指定null
我相信这可能会对你们中的一些人有所帮助。很高兴能帮上忙:)