To add conditional CSS in create-react-app, we can load CSS files dynamically.
For instance, we write
import React from "react";
const Theme1 = React.lazy(() => import("./Theme1"));
const Theme2 = React.lazy(() => import("./Theme2"));
const ThemeSelector: React.FC = ({ children }) => (
<>
<React.Suspense fallback={() => null}>
{shouldRenderTheme1 && <Theme1 />}
{shouldRenderTheme2 && <Theme2 />}
</React.Suspense>
{children}
</>
);
export default ThemeSelector;
to import the Theme1 and Theme2 CSS files with
const Theme1 = React.lazy(() => import("./Theme1"));
const Theme2 = React.lazy(() => import("./Theme2"));
Then we render Theme1 or Theme2 according to the values of shouldRenderTheme1 and shouldRenderTheme2