Как преодолеть эту ошибку TypeError: Невозможно прочитать свойство 'isLoading' неопределенного при использовании response-redux (redurs) - PullRequest
1 голос
/ 07 января 2020

Я создал экран для отображения данных в таблице. Этот экран связан с Redux с действиями, сагами и файлами редуктора. Когда я пытаюсь mapStateToProps данные из состояния редуктора, это выдает эту ошибку TypeError: Cannot read property 'isLoading' of undefined. Предполагая, что isLoading является одним из содержимого в состоянии.

Ниже приведен фрагмент файла реакции.

<Segment>
              <Table basic="very">
                <Table.Header>
                  <Table.Row>
                    <Table.HeaderCell className="colors">
                      Class
                    </Table.HeaderCell>
                    <Table.HeaderCell className="colors">
                      Streams
                    </Table.HeaderCell>
                    <Table.HeaderCell className="colors">
                      Actions
                    </Table.HeaderCell>
                  </Table.Row>
                </Table.Header>
                <Table.Body>
                  {this.props.tableData.map((data, index) => (
                    <Table.Row key={index} className="colors">
                      <Table.Cell>{data.class}</Table.Cell>
                      <Table.Cell>{data.stream}</Table.Cell>
                      <Table.Cell>
                        <span className="pointer">Statistics</span> |
                        <span className="pointer"> remove</span>
                      </Table.Cell>
                    </Table.Row>
                  ))}
                </Table.Body>
              </Table>
            </Segment>
          </Segment.Group>
        </Grid.Column>
      </Grid>
    </Segment>
  </div>
);
 }
}
  const mapStateToProps = state => {
  const { isLoading, tableData, error } = state.classes;
  return {
   isLoading,
   tableData,
   error
 };
};
 export default connect(mapStateToProps, {
  fetchClassStreamRequest,
  attachRequest,
})(AdminClasses);

Ниже приведен фрагмент редуктора

 import { classConstants } from "../constants/classes.constants";
  const data = [
    { class: "s.1", stream: "Red" },
    { class: "s.1", stream: "Red" },
    { class: "s.1", stream: "Red" }
  ];
 const initialState = {
   isLoading: false,
   tableData: data,
   error: ""
 };
 export function classes(state = initialState, action) {
 switch (action.type) {
   case classConstants.FETCH_CLASSSTREAMS_REQUEST:
  return {
    ...state,
    error: ""
  };
  case classConstants.FETCH_CLASSSTREAMS_SUCCESS:
  return {
    ...state,
    error: "",
     tableData: action.payload
  };
  case classConstants.FETCH_CLASSSTREAM_FAILURE:
  return {
    ...state,
    error: "Error in fetching"
  };
default:
      return state;
  }
}

За любую помощь, будем благодарны

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...