Невозможно получить данные при использовании следующего js с избыточным thunk - PullRequest
0 голосов
/ 11 апреля 2020

Я пытаюсь в следующем js использовать редукционный поток для рендеринга на стороне сервера, но я не могу обновить свое состояние редуктора.

Вот код

import { connect } from "react-redux";
import { termsAndConditionsAction } from "../redux/actions/getTermsAndConditions";
class TermsAndConditions extends Component {
  render() {
    return <div></div>;
  }
}
TermsAndConditions.getInitialProps = async ({ store }) => {
  await store.dispatch(termsAndConditionsAction());
  return { custom: "custom" };
};
const mapStateToProps = (state) => {
  console.log(state);
  return state;
};
export default connect(mapStateToProps, {})(TermsAndConditions);

файл действий

import {
  FETCH_TERMS,FETCH_TERMS_SUCCESS,FETCH_TERMS_FAIL
} from "../actionTypes";
import fetch from 'isomorphic-unfetch'
export const termsAndConditionsAction = () => {
  return (dispatch) => {
  dispatch({ type: FETCH_TERMS });

console.log('fetching')

    fetch("http://localhost:3000/api/terms-and-conditions", {
      method: "GET",
    })
      .then((res) => res.json())
      .then((response) => {
        //   console.log('dddddddddddddddd',response) i am seeing the response in my server terminal
        dispatch({ type: FETCH_TERMS_SUCCESS, payload: response.categoryName });
      })
      .catch((err) => {
        console.log("Eror in adding", err);
        dispatch({ type: FETCH_TERMS_FAIL, payload: err });
      });
  };
};

redurs

import {
    FETCH_TERMS,FETCH_TERMS_SUCCESS,FETCH_TERMS_FAIL
  } from "../actionTypes";

  const getAllDetails = (state = [], action) => {
    switch (action.type) {
      case FETCH_TERMS:
        return {...state,loading:true}

      case FETCH_TERMS_SUCCESS:
        return {...state,loading:false,data:action.payload}

      case FETCH_TERMS_FAIL:
        return {...state,loading:false}

      default:
        return state;
    }
  };

  export default getAllDetails;

Итак, как мне увидеть, какие данные на стороне сервера отображали данные в моем файле внутри функции getInitialProps, чтобы они отображались на экране

и когда в моем Функция mapstatetoprops в консольном журнале (состоянии) я получаю

getAllDetails: {loading: true}

так почему мой редуктор застревает здесь?

...