Обычно я справляюсь с этим, имея статусы в вашем состоянии следующим образом:
const initialState = {
isPendingDBResponse: false,
errorFromDB: "",
data: [...] // any data sent back from the DB if it's needed
}
Тогда любой ваш компонент будет использовать что-то вроде троичного оператора для обработки различных статусов:
import React from "react";
const MyComponent = ({ isPendingDBResponse, errorFromDB, data }) => (
<div>
{(isPendingDBResponse)
? <p>Waiting on DB...</p>
: (errorFromDB)
? <p>{errorFromDB}</p>
: <p>Everything was sent successfully</p> // Display any data here if needed
}
</div>
)
const mapStateToProps ({ reducerName }) => {
const { isPendingDBResponse, errorFromDB, data } = reducerName;
return {
isPendingDBResponse,
errorFromDB,
data
}
}
export default connect(mapStateToProps)(MyComponent);