中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用React怎么根據寬度自適應高度

發布時間:2021-02-18 17:11:51 來源:億速云 閱讀:1024 作者:Leah 欄目:web開發

今天就跟大家聊聊有關使用React怎么根據寬度自適應高度,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

而在React中無需依賴于JQuery,實現相對比較簡單,只要在DidMount后更改width即可

Try on Codepen

需要注意的是在resize時候也要同步變更,需要注冊個監聽器

class Card extends React.Component {
 constructor(props) {
  super(props);
  this.state = {
   width: props.width || -1,
   height: props.height || -1,
  }
 }

 componentDidMount() {
  this.updateSize();
  window.addEventListener('resize', () => this.updateSize());
 }

 componentWillUnmount() {
  window.removeEventListener('resize', () => this.updateSize());
 }

 updateSize() {
  try {
   const parentDom = ReactDOM.findDOMNode(this).parentNode;
   let { width, height } = this.props;
   //如果props沒有指定height和width就自適應
   if (!width) {
    width = parentDom.offsetWidth;
   }
   if (!height) {
    height = width * 0.38;
   }
   this.setState({ width, height });
  } catch (ignore) {
  }
 }

 render() {
  return (
   <div className="test" style={ { width: this.state.width, height: this.state.height } }>
    {`${this.state.width} x ${this.state.height}`}
   </div>
  );
 }
}

ReactDOM.render(
 <Card/>,
 document.getElementById('root')
);

參考資料

使用React怎么根據寬度自適應高度

看完上述內容,你們對使用React怎么根據寬度自適應高度有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民勤县| 娱乐| 五华县| 北海市| 集贤县| 张掖市| 莱芜市| 右玉县| 化州市| 湾仔区| 商河县| 子洲县| 寿阳县| 会昌县| 海晏县| 黑河市| 兰考县| 武鸣县| 凌云县| 水富县| 林周县| 佛坪县| 托里县| 甘孜| 和田县| 张掖市| 科技| 西乡县| 竹山县| 庐江县| 健康| 宾川县| 隆昌县| 济宁市| 河源市| 玉环县| 托里县| 汶上县| 彭州市| 五寨县| 孟州市|