Существует простое приложение CRUD (BE express и FE response-redux), в котором значения форм добавляются в mongodb
, схема ниже:
import mongoose from 'mongoose';
var Schema = mongoose.Schema({
createdAt:{
type: Date,
default: Date.now
},
carNumber: { type : String , index: { unique: true }},
carOwner: String
});
export default mongoose.model('Car', Schema);
index: { unique: true }
предотвращает добавление одинаковых carNumber
значений путем вывода error
Автомобили выбираются с функцией диспетчера в carActions.js
:
//Async action
export const fetchCars = () => {
// Returns a dispatcher function
// that dispatches an action at later time
return (dispatch) => {
dispatch(fetchCarsRequest());
// Returns a promise
return fetch(apiUrl)
.then(response => {
if (response.ok) {
response.json().then(data => {
dispatch(fetchCarsSuccess(data.cars, data.message));
})
}
else {
response.json().then(error => {
dispatch(fetchCarsFailed(error));
})
}
})
}
}
и отображается в Cars
компоненте:
render() {
const carState = this.props.mappedCarState;
const cars = carState.cars;
return (
<tbody>
{cars.map((car, i) => <tr key={i}>
<td>{car.carNumber} {car.carOwner}</td>
<td><Button onClick={() => this.deleteCar(car)} ></Button></td>
</tr>)
</tbody>
}
Я очень новичок в этом типе проводки, может кто-нибудь подсказать, как мне следует предотвратить ошибку и вернуть уведомление?
Я мог бы пропустить важную информацию, вот ссылка на респ.