У меня есть список клиентов. Когда добавляется новый клиент, я хочу, чтобы создатель действия проверил, существует ли уже имя клиента, и, если это так, выдает ошибку. Метод filter (), который я использую, чтобы выяснить, не работает ли клиент с таким именем, не работает ... что я делаю неправильно?
действие:
export const addClient = (client) => {
return(dispatch, getState) => {
console.log('state: ' + JSON.stringify(getState()));
let clientList = getState().clientList;
console.log('clientList: ' + clientList);
if (clientList && clientList.map( client => {
return client.name;
}).includes(client.name))
{ return ( dispatch({type: 'ADD CLIENT ERROR'}) ) }
else { dispatch({type: 'ADD CLIENT', client}) }
}
}
редуктор:
const initState = {
clientList: [],
clientErr: null,
};
const clientReducer = (state = initState, action) => {
switch (action.type) {
case 'ADD CLIENT ERROR':
console.log('add client failed');
return {
...state,
clientErr: 'A client with this exact name already exists, please try again.',
};
default:
return state;
}
};
export default clientReducer;
Кнопка добавления клиента работает нормально, и отправка отправляется действию, но именно здесь я получаю сообщение об ошибке.