fork from bc4552c5a8
This commit is contained in:
88
client/containers/Follows/Follows.js
Normal file
88
client/containers/Follows/Follows.js
Normal file
@@ -0,0 +1,88 @@
|
||||
import React, { PureComponent as Component } from 'react';
|
||||
import './Follows.scss';
|
||||
import PropTypes from 'prop-types';
|
||||
import { connect } from 'react-redux';
|
||||
import { Row, Col } from 'antd';
|
||||
import { getFollowList } from '../../reducer/modules/follow';
|
||||
import { setBreadcrumb } from '../../reducer/modules/user';
|
||||
import ProjectCard from '../../components/ProjectCard/ProjectCard.js';
|
||||
import ErrMsg from '../../components/ErrMsg/ErrMsg.js';
|
||||
|
||||
@connect(
|
||||
state => {
|
||||
return {
|
||||
data: state.follow.data,
|
||||
uid: state.user.uid
|
||||
};
|
||||
},
|
||||
{
|
||||
getFollowList,
|
||||
setBreadcrumb
|
||||
}
|
||||
)
|
||||
class Follows extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
data: []
|
||||
};
|
||||
}
|
||||
static propTypes = {
|
||||
getFollowList: PropTypes.func,
|
||||
setBreadcrumb: PropTypes.func,
|
||||
uid: PropTypes.number
|
||||
};
|
||||
|
||||
receiveRes = () => {
|
||||
this.props.getFollowList(this.props.uid).then(res => {
|
||||
if (res.payload.data.errcode === 0) {
|
||||
this.setState({
|
||||
data: res.payload.data.data.list
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
async UNSAFE_componentWillMount() {
|
||||
this.props.setBreadcrumb([{ name: '我的关注' }]);
|
||||
this.props.getFollowList(this.props.uid).then(res => {
|
||||
if (res.payload.data.errcode === 0) {
|
||||
this.setState({
|
||||
data: res.payload.data.data.list
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
render() {
|
||||
let data = this.state.data;
|
||||
data = data.sort((a, b) => {
|
||||
return b.up_time - a.up_time;
|
||||
});
|
||||
return (
|
||||
<div>
|
||||
<div className="g-row" style={{ paddingLeft: '32px', paddingRight: '32px' }}>
|
||||
<Row gutter={16} className="follow-box pannel-without-tab">
|
||||
{data.length ? (
|
||||
data.map((item, index) => {
|
||||
return (
|
||||
<Col xs={6} md={4} xl={3} key={index}>
|
||||
<ProjectCard
|
||||
projectData={item}
|
||||
inFollowPage={true}
|
||||
callbackResult={this.receiveRes}
|
||||
/>
|
||||
</Col>
|
||||
);
|
||||
})
|
||||
) : (
|
||||
<ErrMsg type="noFollow" />
|
||||
)}
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default Follows;
|
||||
Reference in New Issue
Block a user