Как отправить значение onChange - PullRequest
0 голосов
/ 25 июня 2018

Я создаю поисковый компонент и настроил свои действия и редукторы и так далее ... но я не могу понять, как отправить событие в моем компоненте. Что должно быть внутри атрибута onChangeValue?

Вот код:

import React from "react";
import { connect } from "react-redux";
import { getListOfUsers, clearDetails } from "../../actions/actions";
import SearchBar from "../../components/search/search";

const SearchBarContainer = onChangeValue => {
  return <SearchBar onChangeValue={onChangeValue} id="search" icon="search" />;
};

const mapStateToProps = state => {
  return {};
};

const mapDispatchToProps = dispatch => {
  return {
    onChangeValue: e => {
      dispatch(getListOfUsers(e.target.value));
      dispatch(clearDetails());
    }
  };
};

const connected = connect(
  mapStateToProps,
  mapDispatchToProps
)(SearchBarContainer);

export default connected;

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

изменение

<SearchBar
      onChangeValue={onChangeValue}
      value={this.state.value}
      id="search"
      icon="search"
    />

до

<SearchBar
          onChangeValue={this.props.onChangeValue}
          value={this.state.value}
          id="search"
          icon="search"
        />
0 голосов
/ 25 июня 2018

SearchBarContainer является функциональным компонентом и, следовательно, не будет иметь переменной state или this. Вы должны получить их из реквизита. Также функция отправки onChangeValue доступна в качестве опоры для контейнера.

const SearchBarContainer = ({ onChangeValue, value }) => {
  return (
    <SearchBar
      onChangeValue={onChangeValue}
      value={value}
      id="search"
      icon="search"
    />
  );
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...