我正在尝试根据一天中的时间更改h1标题中的文本和颜色。
使用我的代码时,我得到了错误:“无法设置NULL的属性”inner text“。
我试图了解如何在呈现部分实现函数,但没有成功。
下面是我的代码:
js prettyprint-override">import React from "react";
import ReactDOM from "react-dom";
const morning = { color: "blue" };
const afternoon = { color: "green" };
const night = { color: "grey" };
const date = new Date();
const currentHour = date.getHours();
function sayHello() {
const heading = document.querySelector("h1");
if (currentHour < 12) {
heading.innerText = "Good Morning!";
heading.style.color = morning;
} else if (currentHour > 12 && currentHour < 18) {
heading.innerText = "Good Afternoon!";
heading.style.color = afternoon;
} else {
heading.innerText = "Good Night!";
heading.style.color = night;
}
}
ReactDOM.render(
<h1 className="heading">{sayHello()}</h1>,
document.getElementById("root")
);
你必须使用设置时间间隔也,它运行你的脚本像1分钟后或任何你想设置,然后你可以只检查时间和改变你的状态
我将使用UseEffect
和UseEffect
挂钩。
https://codesandbox.io/s/modern-Fog-qyjn9?file=/src/sayhello.js:82-117
import React, { useState, useEffect } from "react";
const morning = { color: "blue" };
const afternoon = { color: "green" };
const night = { color: "grey" };
const SayHello = () => {
const [helloText, setHelloText] = useState("");
const [helloTextColor, setHelloTextColor] = useState("");
useEffect(() => {
const date = new Date();
const currentHour = date.getHours();
if (currentHour < 12) {
setHelloText("Good Morning!");
setHelloTextColor(morning);
} else if (currentHour > 12 && currentHour < 18) {
setHelloText("Good Afternoon!");
setHelloTextColor(afternoon);
} else {
setHelloText("Good Night!");
setHelloTextColor(night);
}
}, []);
return <div style={{ color: helloTextColor }}>{helloText}</div>;
};
export default SayHello;
这不是你用react的方式。您可能需要尝试如下操作:
import React from "react";
import ReactDOM from "react-dom";
function Hello() {
const currentHour = new Date().getHours();
const [color, greeting] =
currentHour < 12 ? ["blue", "Good Morning!"] :
currentHour > 12 && currentHour < 18 ? ["green", "Good Afternoon!"] :
["grey", "Good Night!"];
return (
<h1 style={{color}}>
{greeting}
</h1>
)
}
ReactDOM.render(
<Hello />,
document.getElementById("root")
);
问题内容: 好的,我有两个要用作背景的不同背景.jpg,具体取决于一天中的什么时间。我想从早上7点到晚上8点有阳光背景,从晚上8点到早上7点有夜背景。 我正在处理远程html文件,并且将背景和图形与实际html文件存储在单独的服务器上。除了包含我分离并移至外部样式表的背景代码的主体部分以外,大多数css都位于html文件中。我制作了两个单独的样式表,一个带有白天的背景图像,一个带有夜景。这是夜间C
如何更改以下首选项XML中和的颜色: 我尝试了我的: 更改标题的颜色,但它也会更改我工具栏中文本的颜色(我不想要)。 似乎正确地更改了摘要的颜色。 如何在不影响工具栏文本颜色的情况下更改标题颜色?
问题内容: 我正在使用以下代码, 用于更改JFrame中的工具栏颜色。但这没有用。 是否可以在JFrame中更改标题栏的颜色? 问题答案: 这是不可能的。顶级JFrame由底层OS的外观控制。 您可以更改的颜色。
我想根据用户需要将我写的文本(和字体颜色)更改为另一种颜色。 我制作了一个JFrame,并添加了JTextPane。在文本窗格的右侧,我有一个不同颜色的列表(“白色”、“黑色”、“绿色”等)。Jframe还有一个JMenuBar,如果用户突出显示列表中的一个元素(比如黑色),我想更改textpane的背景色(我知道这很愚蠢,但这是老师的作业) 问题是,文本是黑色的,所以当我改变背景颜色时,文本“消
如何更改UIkit图标的颜色。我正在使用react组件。具体地说,我想改变分隔图标的颜色:https://getuikit.com/docs/divider 谢了。
标题文字颜色的动作是不改变的,如何改变标题文字颜色的动作栏?这是我的风格。xml 风格xml
我想在TextField中更改字体颜色。我找到了、来更改背景和边框的颜色,但没有找到文本的颜色。
问题内容: 是的,语言规范定义结果为“ 2”。如果VM采取不同的方式,则不符合规范。 大多数编译器都会对此抱怨。以Eclipse为例,它将声称永远不会执行return块,但这是错误的。 编写这样的代码我需要知道如何执行此操作: 假设:我有这样的代码: 我想改变的颜色并以颜色为蓝色颜色绿色 M到红色的数字橙色 如何更改此文字的颜色?这些文本来自记事本,也可以直接在文本区域中键入。是非常糟糕的做法,永