Я создал экран для отображения данных в таблице. Этот экран связан с 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;
}
}
За любую помощь, будем благодарны