gpt4 book ai didi

javascript - 取决于媒体查询的通用参数

转载 作者:行者123 更新时间:2023-11-28 19:30:27 28 4
gpt4 key购买 nike

所以我目前处于这样一种情况,当我在移动设备上时,我需要更改组件的特定参数值。例如:

@media all and (max-width: 720px)

正在与 scss 一起使用

我有这个组件,在使用时需要一些参数;

<Books pageLimit={10} />

所以在我的例子中,我想将属性的值从 10 更改为 4

720 像素分辨率设备(@media all 和(最大宽度:720 像素)或以下。

我对媒体查询和样式等很陌生。所以我不确定如何解决这个问题。任何帮助将不胜感激。

最佳答案

可以添加一个窗口resize事件监听器,当窗口宽度小于720px时改变一个状态。

示例(点击整页查看实际效果)

function Books({ pageLimit }) {
return <div>{pageLimit}</div>;
}

class App extends React.Component {
state = {
pageLimit: window.innerWidth < 720 ? 4 : 10
};

componentDidMount() {
window.addEventListener("resize", this.resize);
}

componentWillUnmount() {
window.removeEventListener("resize", this.resize);
}

resize = () => {
this.setState({ pageLimit: window.innerWidth < 720 ? 4 : 10 });
};

render() {
return <Books pageLimit={this.state.pageLimit} />;
}
}

ReactDOM.render(<App />, document.getElementById("root"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

<div id="root"></div>

关于javascript - 取决于媒体查询的通用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55184742/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com