@material-ui/stylesでheaderのcolorを変更


./components/ui/Header.js
import { AppBar, Toolbar } from "@material-ui/core";
import React from "react";
import useScrollTrigger from "@material-ui/core/useScrollTrigger";

function ElevationScroll(props) {
  const { children, window } = props;

  const trigger = useScrollTrigger({
    disableHysteresis: true,
    threshold: 0,
    target: window ? window() : undefined,
  });

  return React.cloneElement(children, {
    elevation: trigger ? 4 : 0,
  });
}

const Header = () => {
  return (
    <ElevationScroll>
      <AppBar color="primary">
        <Toolbar>Header</Toolbar>
      </AppBar>
    </ElevationScroll>
  );
};

export default Header;
./components/ui/Theme.js
import { createMuiTheme } from "@material-ui/core/styles";

export default createMuiTheme({
  palette: {
    primary: {
      main: "#19448e",
    },
  },
});

App.js
import logo from "./logo.svg";
import "./App.css";
import { ThemeProvider } from "@material-ui/styles";
import theme from "./components/ui/Theme";
import Header from "./components/ui/Header";

function App() {
  return (
    <ThemeProvider theme={theme}>
      <Header />
      <p>Hello Material-UI!</p>
    </ThemeProvider>
  );
}

export default App;