【发布时间】:2021-02-28 12:58:04
【问题描述】:
我是 React 新手,我正在使用 React Hook 构建我的 Web 应用程序。我想更改一个类的背景图像,这样如果窗口的宽度
这是我的代码:
Header.jsx
import React from "react";
import backgound_desktop from '../images/desktop/image-hero.jpg';
function Header(){
return(
<div className="heading" style={{backgroundImage: "url(" + backgound_desktop + ")"}}>
//Some other codes
</div>
)}
export default Header;
App.jsx
import React from "react";
import Header from "./Header";
import backgound_desktop from '../images/desktop/image-hero.jpg';
import backgorund_mobile from "../images/mobile/image-hero.jpg";
function App() {
const [windowWidth, setWindowWidth] = React.useState(window.innerWidth);
React.useEffect(() => {
const handleWindowResize = () => {
setWindowWidth(window.innerWidth);
}
window.addEventListener('resize', handleWindowResize);
return () => {
window.removeEventListener('resize', handleWindowResize);
}
}, []);
if (windowWidth < 376) {
document.querySelector("heading").style.backgroundImage = "url(" + backgorund_mobile + ")";
};
return (
<div className = "container-fluid nopadding" >
<Header / >
</div>
)
}
export default App;
【问题讨论】:
-
查看 useRef 挂钩。我正在使用移动设备或会举个例子。
-
你能给我更多的细节吗?
-
我猜你不需要 useRef。看这里。 itnext.io/…
标签: javascript css reactjs