未找到属性 - flowtype / react,使用此

时间:2016-11-20 09:17:16

标签: reactjs flowtype

知道如何摆脱错误property取消订阅: Property not found in FilterLink

class FilterLink  extends React.Component { // container component - provides data and behaviour for the used Link presentation component
  componentDidMount() {
    this.unsubscribe= store.subscribe(()=> this.forceUpdate());  // FLOW ERROR: property `unsubscribe`Property not found in ...

    // this is needed because if the parent component does not update when then
    // store changes, this component would render a stale value
  };
  componentWillUnmount() {
    this.unsubscribe();
  }
  render(){
    const props = (this.props:{filter:State$VisibilityFilter,children:React$Element<*>});
    const state = store.getState();
    return (
      <Link
        active ={props.filter===state.visibilityFilter}
        onClick = {()=> store.dispatch (({ type:'SET_VISIBILITY_FILTER', filter: props.filter }:Action$SetVisibilityFilter))}
        children= {props.children} />
    )
  };
};

1 个答案:

答案 0 :(得分:2)

再次,我从IRC的GreenJello那里得到了帮助,谢谢!

这是解决方案:

  unsubscribe:Function; // SOLUTION !!
  componentDidMount() {
    this.unsubscribe= store.subscribe(()=> this.forceUpdate());
    // this is needed because if the parent component does not update when then
    // store changes, this component would render a stale value
  };
  componentWillUnmount() {
    this.unsubscribe();
  }

这也有帮助:https://flowtype.org/docs/react.html