国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

React的10種有效的設計模式

yibinnn / 2918人閱讀

摘要:設計的種模式本文翻譯自。剩下的肯定都是模式。真實的事實的特異性是網絡開發人員死亡的第一原因。這種設計僅僅適用于登陸操作就在主頁面內執行,而不是多帶帶彈出一個模態窗口。這可以正常的工作,但確不是最好的方式。

設計React的10種模式

本文翻譯自10 React mini-patterns。這篇文章由mrcode翻譯, 如果哪里翻譯的不恰當或有錯誤的地方,歡迎指出。 同時也希望大家關注我的博客。 關注我的賬號。

在過去的幾年里,我已經做了許多看起來挺不錯的React項目。
在這個神奇的旅程中,一些模式出現過很多次,我發現我一次又一次地重復著這些模式。

什么是模式?

這些模式是我想在學習React第一天就知道的事情。
所以如果今天是你第一天學習React,你是如此的幸運。

或者你并不幸運。只有一種方法可以決定你是否是幸運的...

這是一個長長的列表,所以你可以跳過無聊的一些模式, 比如:3,6,8,10。

1. Sending data down and up

我建議大家新學習React的一件事是傳遞信息的模式(信息可以是對象,字符串等)和傳遞方法下來允許子組件傳遞信息給父組件。

就像把一包芯片和一個對講機送到地下被困的礦工一樣。

圖片怎么樣?
下面的事情是這種模式的最簡單的形式。

父組件在左邊,子組件在右邊。
你可以認為連接這些組件的兩個props允許信息在兩者之間的任一方向上流動。

被稱為items將被傳遞給子組件, deleteItem將提供給子組件一種方案來發送信息給父組件。

這不是一個真正的模式。剩下的肯定都是模式。我承諾。

2. Fixing HTML’s inputs

React和web組件的一個偉大的事情是,如果在html中的東西不能按你想要的方式工作,你可以解決它。

如果你考慮允許用戶輸入的不同元素,你很快就會看到這些元素的命名是荒謬的,幾乎是魯莽的。

如果我建立一個將有很多用戶輸入的網站,我做的第一件事之一是解決這個問題。

還有更多的改進:

輸入應該通過onChange方法返回一個值,而不是一個JavaScript事件實例,對不?

你可以進一步確保在onChange返回的數據類型和傳遞的數據類型相匹配。如果typeof props.value是number,然后將e.target.value回到一個數字,然后再次發出數據。

一組單選按鈕在功能上與

但是你不想為你定義的每個輸入想出一些聰明和獨特的id,誰有時間呢?我不知道你,但我有山羊的視頻觀看。

(提示:如果您的航班上有一個尖叫的孩子,閉上眼睛,假裝您在YouTube上觀看的山羊聽起來像人類的視頻,煩人的聲音就會變得很熱鬧。)

您可以為每個輸入/標簽對生成隨機ID,但是客戶端呈現的HTML將與您呈現的服務器呈現的HTML不匹配。這并不是一個好的解決方案
所以,你可以創建一個小的模塊,給出一個遞增的ID,并在輸入組件中使用它,像這樣:

class Input extends React.Component {
  constructor(props) {
    super(props);
    this.id = getNextId();
    
    this.onChange = this.onChange.bind(this);
  }
  
  onChange(e) {
    this.props.onChange(e.target.value);
  }
  
  render() {
    return (
      
    );
  }
}

如果getNextId()每次只是增加一個數字,然后在服務器上渲染時,這個數字會繼續上升和起來,最終達到無窮大。因此,您需要在每次呈現應用程序時重置該數字(對于每個網絡請求)。

你可以在你的應用程序的入口點,使用一個簡單的resetId()或任何你認為最好的名稱。

考慮到所有這些,你的超級幻想模塊可能看起來像這樣:

let count = 1;

export const resetId = () => {
  count = 1;
}

export const getNextId = () => {
  return `element-id-${count++}`;
}
4. Controlling CSS with props

當你想在不同的實例(例如"primary"和"secondary"按鈕)應用不同的CSS,你可以傳遞道具來控制要應用的CSS。

這看起來超級簡單的表面,但讓我向你保證有很多錯誤的方法來做到這一點(我已經嘗試過他們!)。

有 - 我估計 - 三種不同的方式,你可以控制應用于組件的CSS。

使用標志

也許你的一些按鈕有圓角,但這不直接對應于您定義的主題。

在這種情況下,你可以坐下你的設計師,并有一致性談話,或創建一個布爾的道具,可能看起來像這樣:

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88146.html

相關文章

  • FCC 成都社區·技術周刊 第 12 期

    摘要:詳情怎樣規避地獄作者先介紹什么是地獄,以及在開發過程中怎樣去規避地獄,一時爽性能問題火葬場。詳情其他亮點匯總開發者大會已于北京時間月日凌晨在美國山景城正式啟幕。 【前端】 1. JavaScript 的新數據類型:BigInt BigInt?是 JavaScript 中的一個新的數字基本(primitive)類型,可以用任意精度表示整數。使用?BigInt?可以安全地存儲和操作大整數,...

    fanux 評論0 收藏0
  • FCC 成都社區·技術周刊 第 12 期

    摘要:詳情怎樣規避地獄作者先介紹什么是地獄,以及在開發過程中怎樣去規避地獄,一時爽性能問題火葬場。詳情其他亮點匯總開發者大會已于北京時間月日凌晨在美國山景城正式啟幕。 【前端】 1. JavaScript 的新數據類型:BigInt BigInt?是 JavaScript 中的一個新的數字基本(primitive)類型,可以用任意精度表示整數。使用?BigInt?可以安全地存儲和操作大整數,...

    zzbo 評論0 收藏0
  • FCC 成都社區·技術周刊 第 12 期

    摘要:詳情怎樣規避地獄作者先介紹什么是地獄,以及在開發過程中怎樣去規避地獄,一時爽性能問題火葬場。詳情其他亮點匯總開發者大會已于北京時間月日凌晨在美國山景城正式啟幕。 【前端】 1. JavaScript 的新數據類型:BigInt BigInt?是 JavaScript 中的一個新的數字基本(primitive)類型,可以用任意精度表示整數。使用?BigInt?可以安全地存儲和操作大整數,...

    robin 評論0 收藏0
  • FCC 成都社區·技術周刊 第 12 期

    摘要:詳情怎樣規避地獄作者先介紹什么是地獄,以及在開發過程中怎樣去規避地獄,一時爽性能問題火葬場。詳情其他亮點匯總開發者大會已于北京時間月日凌晨在美國山景城正式啟幕。 【前端】 1. JavaScript 的新數據類型:BigInt BigInt?是 JavaScript 中的一個新的數字基本(primitive)類型,可以用任意精度表示整數。使用?BigInt?可以安全地存儲和操作大整數,...

    jlanglang 評論0 收藏0

發表評論

0條評論

yibinnn

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<