- 58
- 0
使用高阶组件HOC抽离了一些重复的逻辑代码,可是结果是我在组件当中点击按钮去调用抽离出去的那个方法,是报错的,我记得mixin混入可以这么干吧,都调不了HOC里面的方法, 抽离出去还有啥意义啊
HOC的代码是这样的
import React from 'react'
export default function withList(WrappedComponent, selectData) {
return class extends React.Component {
constructor(props) {
super(props)
this.pageSize = 10
this.getSource = this.getSource.bind(this)
}
componentDidMount() {
this.onSearch()
}
// 检索列表
onSearch() {
let searchData = this.props.form.getFieldsValue() // 搜索框为空的时候表单 name: undefined
this.setState({ currentPage: 1, searchData }, () => {
this.getSource()
})
}
// 初始化数据
getSource() {
const formData = this.state.searchData
const data = {
pageSize: this.pageSize,
pageNumber: this.state.currentPage,
...formData // 搜索框为空的时候name: undefined
}
this.setState({ loading: true })
var a = Service.list(data);
console.log(typeof a);
a.then(res => {
let { status, msg, data } = res
this.setState({
list: data ? data.list : [],
total: data ? data.total : 0,
loading: false
})
}).catch(err => {
this.setState({ loading: false })
if (err.status == 6003) {
this.setState({ list: [], total: 0 })
} else {
message.error(err.msg)
}
})
}
render() {
return (
<WrappedComponent data={this.state} {...this.props}/>
)
}
}
}
我在组件中去调用这些方法是不可行的,
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

