I have an issue while creating simple HOC which should redirect to 404 when there are no query params. Otherwise, it should just return a component.
import React, { useState, useEffect } from 'react';
import { Redirect } from 'react-router-dom';
import { api } from '../utils/api';
export default (WrappedComponent, queryParamKey) => {
return () => {
const [ paramAvailability, setParamAvailability ] = useState(false);
useEffect(() => {
const urlParams = new URLSearchParams(document.location.search);
const token = urlParams.get(queryParamKey);
setParamAvailability(!!token);
});
return paramAvailability ? (
<WrappedComponent {...this.props} />
) : <Redirect to="/404" />;
};
};
So every time I'm wrapping a component it redirect to 404 either there are or there are not query params available.