【发布时间】:2020-08-16 07:45:08
【问题描述】:
我想应用一个选项,用户可以在应用程序中在暗模式和亮模式之间切换。
<link rel="stylesheet" href="../src/cssf/light.css">
<link rel="stylesheet" href="../src/cssf/dark.css">
我有两张用于整个网站的表格。
<label class="form-check-label" id="dark">
<input type="radio" class="form-check-input" checked name="theme"><label>Dark</label>
</label>
</div>
<div class="form-check-inline">
<label class="form-check-label" id="light">
<input type="radio" class="form-check-input" name="theme"><label>Light</label>
</label>
我已经给出了选项,但我必须怎么做才能在两个 css 文件之间切换?
import React, { useEffect, useState } from "react";
import "./cssf/style.css";
import logo from "./cssf/logo-sm.png";
function App() {
const [ stylePath, setStylePath ] = useState("./cssf/dark-theme.css");
const handleButtonClick = () => {
setStylePath("./cssf/light-theme.css");
}
useEffect(() => {
var head = document.head;
var link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.href = stylePath;
head.appendChild(link);
return () => { head.removeChild(link); }
}, [stylePath]);
我使用了这种方法,它在头部完美地更新了链接标签,但没有使用 import "../cssf/sheername.css" 将其导入我的应用程序,它没有用。我该如何解决?
【问题讨论】:
标签: javascript html css reactjs