javascript - 无法将动作创建者导出到组件 mapDispatchToProps 方法
问题描述
在我的操作文件中,我创建了一个 fetchMethod
export const requestEmbedToken = () => (dispatch) => {
return axios.get('http://localhost:7071/api/getTokens')
.then(response => {
console.log("token embed", response)
})
}
应用程序.js
从 './redux/actions' 导入 { requestEmbedToken }
function App(token, requestToken) {
const [embedToken, setEmbedToken] = useState(token.token);
useEffect(() => {
if (token.token === undefined) {
requestToken()
setEmbedToken(token.token)
}
});
return (
const mapDispatchToProps = (dispatch) => {
return ({
requestToken: () => dispatch(requestEmbedToken())
})
}
export default connect(mapStateToProps, mapDispatchToProps)(App)
实际上我遇到了一个错误
TypeError:requestToken 不是函数
解决方案
App
组件将接收所有道具作为将作为参数传递的对象的属性,通常称为props
对象。您需要解构props
对象以访问令牌和其他道具
function App({ token, requestToken }) {
...
}
或者,您可以使用该props
对象而不是对其进行解构
function App(props) {
...
}
然后使用props.token
和props.requestToken
访问道具作为props
对象的属性。
推荐阅读
- javascript - insertBefore 仅在循环的最后一个元素处附加元素
- php - 从数据库 Laravel 迭代数组时没有数据库条目
- deployment - 无法解构“未定义”或“空”的属性“接口”
- pandas-groupby - groupby() 和 Bokeh figure() 的困难
- html-framework-7 - 页面无法访问设置上下文
- c# - 我可以在实体框架分页语法中使用 join 吗?
- php - 为什么我没有收到来自我的 PHP 页面的任何响应并且没有其他错误?
- odoo - 如何将 Avaya CTI 与 Odoo 集成
- spring-boot - 如何在 OAuth2 的 cookie 中存储访问令牌?
- c - 在编译时避免变长堆栈数组