Homebrew 的實用指南

介紹流行的 Homebrew 套件管理器 Homebrew 是一個很好的套件管理器。原本是為 macOS 而開發的,現在也可以在 Linux 和 Windows Subsystem for Linux 上運行。 使用 Homebrew,你可以安裝幾乎任何你能想到的命令行應用程式,甚至是擁有完整圖形界面的應用程式。 如何安裝 Homebrew? 在 macOS 上,安裝 Homebrew 的指令如下: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 在 Linux/Windows 上,請參考官方網站的說明。 執行以上指令後,你就可以在終端機中使用 brew 命令了: 看到了嗎?我們有一個可以使用的子命令列表:brew install、brew upgrade、brew uninstall 等等。 安裝應用程式 使用 brew install 命令來安裝一個應用程式: brew install <包名> 例如,要安裝 mysql,執行以下命令: brew install mysql 這個命令有很多可用的選項,你可以查看它們: 你或許永遠不需要這些選項 - 我很少會使用除了預設的 brew install <package> 以外的其他選項。 有時候,某些套件(就像我在上面的示例中使用的 mysql 套件)會安裝成功,但在使用之前需要一些額外的步驟。 如果是這種情況,在安裝過程結束時,Homebrew 通常會提示給你。請確保你仔細閱讀 Homebrew 輸出到終端機的所有內容,以免日後出現問題。 套件安裝的位置在哪裡? 使用 Homebrew 安裝的套件都會被安裝到特定的資料夾中。...

React生命周期事件

了解React生命周期事件及如何使用它們。 React類組件可以綁定幾個生命周期事件。 鉤子(Hooks)也允許函數組件以不同的方式訪問它們。 在組件的生命周期中,有一系列的事件被調用,你可以在每個事件上添加自定義功能。 在哪個生命周期事件上添加哪個鉤子是我們接下來要研究的內容。 首先,React組件的生命周期有3個階段: 加載 更新 卸載 讓我們詳細看一下這3個階段以及每個階段調用的方法。 加載 在加載時,在組件被加載到DOM之前,有4個生命周期方法:constructor、getDerivedStateFromProps、render和componentDidMount。 constructor constructor是組件加載時第一個呼叫的方法。 通常你使用constructor來設置初始狀態,使用this.state = ...。 getDerivedStateFromProps() 當狀態依賴於屬性時,可以使用getDerivedStateFromProps根據屬性值更新狀態。 它在React 16.3中添加,旨在代替被棄用的componentWillReceiveProps方法。 在這個方法中,你沒有訪問this,因為它是一個靜態方法。 它是一個純方法,所以它不應該引起副作用,並且在使用相同輸入多次呼叫時應該返回相同的輸出。 返回帶有更新後的狀態元素的對象(如果狀態未更改則為null) render() 從render()方法中,你返回構建該組件界面的JSX。 它是一個純方法,所以它不應該引起副作用,並且在使用相同輸入多次呼叫時應該返回相同的輸出。 componentDidMount() 這個方法是用於執行API調用或在DOM上進行操作的地方。 更新 當更新時,在組件被加載到DOM之前,有5個生命周期方法:getDerivedStateFromProps、shouldComponentUpdate、render、getSnapshotBeforeUpdate和componentDidUpdate。 getDerivedStateFromProps() 參見上述描述。 shouldComponentUpdate() 此方法返回一個布林值,true或false。你使用這個方法告訴React是否應該繼續重新渲染,默認為true。在重新渲染的成本較高且你希望更控制何時發生重新渲染時,你會返回false。 render() 參見上述描述。 getSnapshotBeforeUpdate() 在這個方法中,你可以訪問上一次渲染和當前渲染的props和state。 它的使用案例非常特殊,可能是你使用最少的一個。 componentDidUpdate() 此方法在組件在DOM中更新後呼叫。使用它來運行任何第三方DOM API或在DOM更改時必須更新的API。 它對應於加載階段的componentDidMount()方法。 卸載 在此階段,我們只有一個方法,componentWillUnmount。 componentWillUnmount() 當組件從DOM中被刪除時,調用此方法。使用它來執行任何所需的清理工作。 舊版 如果你正在開發一個使用了componentWillMount、componentWillReceiveProps或componentWillUpdate的應用程序,這些方法在React 16.3中已被棄用,你應該遷移到其他生命周期方法。