知道如何摆脱错误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} />
)
};
};
答案 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();
}