useFetchToState
This hook fetch data and put it to state.
This hook is not recomended. Please use fetchToStateReceiver if You can.
import React from 'react';
import axios from 'axios';
import { useFetchToState } from 'eventrix';
const removeUserFetch = (userData, state, emit) => {
return axios.delete(`http://somedomain.com/users/${userData.id}`).then(() => {
return state.users.filter(item => item.id !== userData.id);
});
}
const DeleteUserButton = ({ user }) => {
const [emitFetch] = useFetchToState('users:remove', 'users', removeUserFetch);
const removeUser = useCallback(() => {
emitFetch(user);
}, [emitFetch, user])
return (
<button onClick={removeUser}>
Remove user
</button>
);
}import axios from 'axios';
import { useFetchToState } from 'eventrix';
import { EmitI } from 'eventrix/types/interfaces'
import { User, StoreState } from './interfaces';
const removeUserFetch = (userData, state, emit): Promise<User[]> => {
return axios.delete(`http://somedomain.com/users/${userData.id}`).then(() => {
return state.users.filter(item => item.id !== userData.id);
});
}
interface PropsI {
user: User;
}
const DeleteUserButton = ({ user }: PropsI) => {
const [emitFetch] = useFetchToState<User>('users:remove', 'users', removeUserFetch);
const removeUser = useCallback(() => {
emitFetch(user);
}, [emitFetch, user])
return (
<button onClick={removeUser}>
Remove user
</button>
);
}Last updated
Was this helpful?