Don't preload timelines as props, load them when timeline component is mounted

This prevents the bug where if you go "back" to the UI after navigating to
another page it loads with the old set of statuses
这个提交包含在:
Eugen Rochko 2016-10-16 19:23:17 +02:00
父节点 0895ff414e
当前提交 f0f791bb76
共有 5 个文件被更改,包括 27 次插入15 次删除

查看文件

@ -41,12 +41,6 @@ const Mastodon = React.createClass({
store.dispatch(setAccessToken(this.props.token));
store.dispatch(setAccountSelf(JSON.parse(this.props.account)));
for (var timelineType in this.props.timelines) {
if (this.props.timelines.hasOwnProperty(timelineType)) {
store.dispatch(refreshTimelineSuccess(timelineType, JSON.parse(this.props.timelines[timelineType])));
}
}
if (typeof App !== 'undefined') {
this.subscription = App.cable.subscriptions.create('TimelineChannel', {

查看文件

@ -1,11 +1,21 @@
import { connect } from 'react-redux';
import PureRenderMixin from 'react-addons-pure-render-mixin';
import StatusListContainer from '../ui/containers/status_list_container';
import Column from '../ui/components/column';
import { refreshTimeline } from '../../actions/timelines';
const HomeTimeline = React.createClass({
propTypes: {
dispatch: React.PropTypes.func.isRequired
},
mixins: [PureRenderMixin],
componentWillMount () {
this.props.dispatch(refreshTimeline('home'));
},
render () {
return (
<Column icon='home' heading='Home'>
@ -16,4 +26,4 @@ const HomeTimeline = React.createClass({
});
export default HomeTimeline;
export default connect()(HomeTimeline);

查看文件

@ -1,11 +1,21 @@
import { connect } from 'react-redux';
import PureRenderMixin from 'react-addons-pure-render-mixin';
import StatusListContainer from '../ui/containers/status_list_container';
import Column from '../ui/components/column';
import { refreshTimeline } from '../../actions/timelines';
const MentionsTimeline = React.createClass({
propTypes: {
dispatch: React.PropTypes.func.isRequired
},
mixins: [PureRenderMixin],
componentWillMount () {
this.props.dispatch(refreshTimeline('mentions'));
},
render () {
return (
<Column icon='at' heading='Mentions'>
@ -16,4 +26,4 @@ const MentionsTimeline = React.createClass({
});
export default MentionsTimeline;
export default connect()(MentionsTimeline);

查看文件

@ -9,6 +9,10 @@ import {
const PublicTimeline = React.createClass({
propTypes: {
dispatch: React.PropTypes.func.isRequired
},
mixins: [PureRenderMixin],
componentWillMount () {

查看文件

@ -2,13 +2,7 @@ module HomeHelper
def default_props
{
token: @token,
account: render(file: 'api/v1/accounts/show', locals: { account: current_user.account }, formats: :json),
timelines: {
home: render(file: 'api/v1/statuses/index', locals: { statuses: @home }, formats: :json),
mentions: render(file: 'api/v1/statuses/index', locals: { statuses: @mentions }, formats: :json)
}
account: render(file: 'api/v1/accounts/show', locals: { account: current_user.account }, formats: :json)
}
end
end