0

選択した日付の状態を設定しようとするために、react-date を使用しています。

<DateRangePicker 
  ...
  onDatesChange={({ startDate, endDate }) => this.setState({ startDate, 
  endDate })} 
  ...
/> // PropTypes.func.isRequired

これは、状態が存在するメイン コンポーネントにある場合は正常に機能しますが、そのコンポーネントの子コンポーネントに DateRangePicker があるため、子から状態を設定することはできません。

状態を設定するために親コンポーネントに存在する関数を作成しようとしましたが、これは機能しません:

子コンポーネントで:

<DateRangePicker 
  ...
  onDatesChange={({ startDate, endDate }) => props.onDatesChange({ startDate, 
  endDate })}
  ...
/> 

親コンポーネントで:

onDatesChange = (startDate, endDate) => {
    this.setState({
      startDate,
      endDate
    })
  };

これは、親の状態を設定する DateRangePicker の別のパラメーターに対して機能しますが、次のようになります。

子供の場合:

<DateRangePicker 
  ...
  onFocusChange={props.onFocusChange}
  ...
/> 

親で:

  onFocusChange = focusedInput => this.setState({ focusedInput })
4

1 に答える 1