我正在使用SWR
在我的代码中,我使用两者的连接点如下
const vehiclesStates = useSelector(({ vehiclesStates: state }) => state); // REDUX
const response = useFetch("/vehicles/states") // SWR
const dispatch = useDispatch(); // REDUX
// REDUX
useEffect(() => {
if(response.data) dispatch(VehiclesStatesActions.setVehiclesStates(response.data.result))
}, [response.data, dispatch]);
if(response.error) return <div>ERROR - {response.error.toString()}</div> // SWR
else if(!response.data) return <div>LOADING</div> // SWR
// If there is a return I render my component
return (<></>)
在上面的这段摘录中,我使用我使用 SWR(与 axios 集成)返回的数据在 redux 中设置了我的组件状态。这样,在需要使用相同数据的任何其他组件中,我只使用 redux 的useSelect导入它。
这边走
const vehiclesStates = useSelector(({ vehiclesStates: state }) => state);
我发现它比通过在每个想要使用该数据的组件上调用 useFetch 来使用 SWR 更实用。
我的问题是:使用这种方式是正确的方式,还是会影响性能或其他什么?
提前致谢