Как я могу заставить это действие реагировать?

Ivani спросил: 07 октября 2018 в 11:31 в: javascript

Когда я заменяю "this.props.fetchInfo (recipe.id)" на console.log (recipe.id), "recipe.id" регистрируется при нажатии на div. Тем не менее, действие никогда не запускается. У меня есть другой файл console.log в моем действительном создателе действий, который регистрирует идентификатор, если он действительно передается, но я просто получаю сообщение об ошибке (что я ожидаю, но я полагаю, что, по крайней мере, я получу зарегистрированный идентификатор перед ошибками в моем приставка). Я не уверен, правильно ли настроена структура для компонента "Рецепт", хотя выглядит так, как есть. Кроме того, я не уверен, есть ли более правильный способ сделать то, что я пытаюсь сделать, а именно взять часть (recipe.id) состояния из моего последнего запроса AJAX и использовать его для создания второй AJAX-запрос на возврат нужной мне информации. Ниже приведен компонент "Рецепт":

import React, { Component } from "react";
import { bindActionCreators } from "redux";
import { connect } from "react-redux";
import { fetchInfo } from "../actions";// Here we take in the passed in props from the FoodList component and render
// the dishes for the inputted ingredients
class Recipe extends Component {
  renderFood(food) {
    return (
      <div className="food-container">
        {food.map(function(recipe) {
          console.log(recipe.id);
          return (
            <div
              className="indiv-recipe"
              style={{
                backgroundImage: "url(" + recipe.image + ")"
              }}
              onClick={() => this.props.fetchInfo(recipe.id)}
            >
              <div id="recipe-title"> {recipe.title}</div>
            </div>
          );
        })}
      </div>
    );
  }  render() {
    return (
      <div>
        <h1>{this.props.foods.map(this.renderFood)}</h1>
      </div>
    );
  }
}function mapDispatchToProps(dispatch) {
  return bindActionCreators({ fetchInfo }, dispatch);
}export default connect(
  null,
  mapDispatchToProps
)(Recipe);

0 ответов