2017-11-23 11 views
0

このエラーは、ページに行く警告:SETSTATE(...):既存の状態遷移時に更新できません(そのようSETSTATE(...)...、無限ループ

警告を発生しますrenderまたは他のコンポーネントのコンストラクタ内)。レンダリング方法は、小道具と州の純粋な機能でなければなりません。コンストラクタの副作用はアンチパターンですが、componentWillMountに移動することができます。私は2つの日付でテーブルをフィルタリングするが、無限ループを出て行く必要がform.js

render() { 
    return (
    ... 
    <Row className={css(stylesClient.adm_search)}> 
     <Col span={3} style={{fontSize: '24px'}}>Приёмы</Col> 
     <Col span={3} offset={7}>Период: с</Col> 
     <Col span={4}> 
      <Datetime 
       className="date_time" 
       dateFormat="DD.MM.YYYY" 
       timeFormat={false} 
       locale="ru" 
       onChange={(e)=>this.setState({dateStart: e.target.value})}/> 
     </Col> 
     <Col span={1}>по</Col> 
     <Col span={4}> 
      <Datetime 
       className="date_time" 
       dateFormat="DD.MM.YYYY" 
       timeFormat={false} 
       locale="ru" 
       onChange={(e)=>this.setState({dateEnd: e.target.value})}/> 
     </Col> 
     <Col span={2}> 
      <Button 
       className={css(stylesClient.set_button)} 
       onClick={this.props.receptions_filter(this.state.dateStart, this.state.dateEnd)}> 
       <img style={{marginLeft: '-10px'}} src={arrowWhite}/> 
      </Button> 
     </Col> 
    </Row> 
    ... 
    ) 
} 

、私は最近、Web技術を理解し始めました。

私の悪い英語のため申し訳ありません

答えて

2

onClickは、すべての上にレンダリングトリガされます。

に変更し、それを:

onClick={() => this.props.receptions_filter(...)}

関連する問題