React,来自访问路线的内容闪现

时间:2016-02-09 18:01:59

标签: javascript reactjs

我正在玩弄React而且我遇到了一个我不太明白的事情 - 每次我在路线之间导航时,我都会看到我认为是组件先前状态的闪光。我已经建立了一个简单的博客,当我在不同的帖子之间进行导航时,这里有一些以前的帖子内容,比如标题和正文。在获取所请求的帖子后,它会立即被新状态替换,但它很明显且非常不愉快。 为什么会这样?这些数据可能存储在哪里?提前谢谢。

这是Post组件。

class Post extends React.Component {

  static propTypes = {
    params: React.PropTypes.object
  };

  constructor(props) {
    super(props);
    this.displayName = 'Post';
    this.state = PostStore.getState();
    this.onChange = ::this.onChange;
    this._deletePost = ::this._deletePost;
  }

  componentDidMount() {
    toastr.success(`id is: ${this.props.params.id}`);
    PostStore.listen(this.onChange);
    PostActions.getPost(this.props.params.id);
  }

  componentWillUnmount() {
    PostStore.unlisten(this.onChange);
  }

  onChange(state) {
    this.setState(state);
  }

  _deletePost() {
    PostActions.deletePost(this.props.params.id);
  }

  render() {
    return (
      ...
      <h1>{this.state.post.title}</h1>
      <h3>{this.state.post.author}</h2>
      <p>{this.state.post.body}</p>
      ...
    );
  }
}

export default Post;

0 个答案:

没有答案