存储状态更改时对Redux工作做出意外反应

时间:2018-10-14 10:36:13

标签: reactjs redux containers state connect

我很困惑。

我正在为容器使用react-redux

我的代码如下

import React from 'react'
import { connect } from 'react-redux'

const mapStateToProps = (state) => ({
    post : state.post
})

const PostContainer extends Component {
    constructor(props){
       super(props)
       this.state = {
           post : props.post
       }
    }

    render(){
          <div>
               {post.title}
          </div>
    }
}

export default connect(mapStateToProps, null)(PostContainer)

此代码的奇数部分如下。

现在在我的代码中,我仅在第一个构造中获得状态,然后在该状态中不获得新数据。

但是!!

商店中的postState更改时,PostContainer状态也会更改

为什么?

即使我没有处理componentWillReceiveProps中的新数据。

谢谢...

1 个答案:

答案 0 :(得分:1)

更改很少,您的代码将按预期工作

import React, { Component } from 'react';
import { connect } from 'react-redux';

class PostContainer extends Component {
  render() {
    return (
       <div>{this.props.post.title}</div>;
    ) 
  }
}

const mapStateToProps = state => ({
  post: state.post
});

export default connect(mapStateToProps)(PostContainer);