0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

三菱PLC程序解密加密怎么破解,登錄口令破解

PLC工控專欄 ? 來(lái)源:加密狗破解 ? 作者:加密狗破解 ? 2022-02-13 16:26 ? 次閱讀

三菱PLC程序解密加密怎么破解,【電;I7I54833762】登錄口令破解React Hooks 是 React 團(tuán)隊(duì)在兩年前的 16.8 版本推出的一套全新的機(jī)制。作為最主流的前端框架,React 的 API 十分穩(wěn)定,這次更新的發(fā)布,讓眾多恐懼新輪子的前端大佬們虎軀一震,畢竟每一次更新又是高成本的學(xué)習(xí),這玩意到底好使么?
答案是好用的,對(duì)于 React 的開發(fā)者而言,只是多了一個(gè)選擇。過(guò)去的開發(fā)方式是基于Class組件的,而hooks是基于函數(shù)組件,這意味著 這兩種開發(fā)方式可以并存 ,而新的代碼可以根據(jù)具體情況采用 Hooks 的方式來(lái)實(shí)現(xiàn)就行了。這篇文章主要就來(lái)介紹一下 Hooks 的優(yōu)勢(shì) 和 常用的幾個(gè)鉤子函數(shù) 。
Hooks的優(yōu)勢(shì)
1.類組件的不足

代碼量多 :相較于函數(shù)組件的寫法,使用類組件代碼量要略多一點(diǎn),這個(gè)是最直觀的感受。

this指向:類組件中總是需要考慮this的指向問(wèn)題,而函數(shù)組件則可以忽略。

趨向復(fù)雜難以維護(hù) :在高版本的React中,又更新了一些生命周期函數(shù),因?yàn)檫@些函數(shù)互相解耦,很容易造成分散不集中的寫法,漏掉關(guān)鍵邏輯和多了冗余邏輯,導(dǎo)致后期debug困難。相反,hooks可以把關(guān)鍵邏輯都放在一起,不顯得那么割裂,調(diào)試起來(lái)也易懂一點(diǎn)。

狀態(tài)邏輯難復(fù)用 :在組件之間復(fù)用狀態(tài)邏輯很難,可能要用到 render props (渲染屬性)或者 HOC (高階組件),但無(wú)論是渲染屬性,還是高階組件,都會(huì)在原先的組件外包裹一層父容器(一般都是 div 元素),導(dǎo)致層級(jí)冗余。

2. Hooks帶來(lái)的好處

邏輯復(fù)用
在組件之前復(fù)用狀態(tài)邏輯,往往需要借助高階組件等復(fù)雜的設(shè)計(jì)模式,這些高級(jí)組件會(huì)產(chǎn)生冗余的組件節(jié)點(diǎn),讓調(diào)試變得困難,下面用一個(gè)demo來(lái)對(duì)比一下兩種實(shí)現(xiàn)方式。

Class

在class組件場(chǎng)景下,定義了一個(gè)高階組件,負(fù)責(zé)監(jiān)聽(tīng)窗口大小變化,并將變化后的值作為 props 傳給下一個(gè)組件。
const useWindowSize = Component => {
// 產(chǎn)生一個(gè)高階組件 HOC,只包含監(jiān)聽(tīng)窗口大小的邏輯
class HOC extends React.PureComponent {
constructor(props) {
super(props);
this.state = {
size: this.getSize()
};
}
componentDidMount() {
window.addEventListener("resize", this.handleResize);
}
componentWillUnmount() {
window.removeEventListener("resize", this.handleResize);
}
getSize() {
return window.innerWidth > 1000 ? "large" :"small";
}
handleResize = ()=> {
const currentSize = this.getSize();
this.setState({
size: this.getSize()
});
}
render() {
// 將窗口大小傳遞給真正的業(yè)務(wù)邏輯組件
return ;
}
}
return HOC;
};
復(fù)制代碼
接下來(lái)可以在自定義組件中可以調(diào)用 useWindowSize 這樣的函數(shù)來(lái)產(chǎn)生一個(gè)新組件,并自帶 size 屬性,例如:
class MyComponent extends React.Component{
render() {
const { size } = this.props;
if (size === "small") return ;
else return ;
}
}
// 使用 useWindowSize 產(chǎn)生高階組件,用于產(chǎn)生 size 屬性傳遞給真正的業(yè)務(wù)組件
export default useWindowSize(MyComponent);
復(fù)制代碼
下面看下Hooks的實(shí)現(xiàn)方式

Hooks

const getSize = () => {
return window.innerWidth > 1000 ? "large" : "small";
}
const useWindowSize = () => {
const [size, setSize] = useState(getSize());
useEffect(() => {
const handler = () => {
setSize(getSize())
};
window.addEventListener('resize', handler);
return () => {
window.removeEventListener('resize', handler);
};
}, []);

return size;
};
復(fù)制代碼
使用:
const Demo = () => {
const size = useWindowSize();
if (size === "small") return ;
else return ;
};
復(fù)制代碼
從上面的例子中通過(guò) Hooks 的方式對(duì)窗口大小進(jìn)行了封裝,從而將其變成一個(gè)可綁定的數(shù)據(jù)源。這樣當(dāng)窗口大小發(fā)生變化時(shí),使用這個(gè) Hook 的組件就都會(huì)重新渲染。而且代碼也更加簡(jiǎn)潔和直觀,不會(huì)產(chǎn)生額外的組件節(jié)點(diǎn),也不顯得那么冗余了。

業(yè)務(wù)代碼更加聚合

下面舉一個(gè)最常見(jiàn)的計(jì)時(shí)器的例子。

class

let timer = null
componentDidMount() {
timer = setInterval(() => {
// ...
}, 1000)
}
// ...
componentWillUnmount() {
if (timer) clearInterval(timer)
}
復(fù)制代碼

Hooks

useEffect(() => {
let timer = setInterval(() => {
// ...
}, 1000)
return () => {
if (timer) clearInterval(timer)
}
}, [//...])
復(fù)制代碼
Hooks的實(shí)現(xiàn)方式能讓代碼更加集中,邏輯也更清晰。

寫法簡(jiǎn)潔

這個(gè)就不舉例了,可以從字面意思理解,使用函數(shù)組件確實(shí)能少些很多代碼,懂得都懂,嘻嘻~
幾個(gè)內(nèi)置Hooks的作用以及使用思考
useState :讓函數(shù)組件具有維持狀態(tài)的能力
const[count, setCount]=useState(0);
復(fù)制代碼
優(yōu)點(diǎn):
讓函數(shù)組件具有維持狀態(tài)的能力,即:在一個(gè)函數(shù)組件的多次渲染之間,這個(gè) state 是共享的。便于維護(hù)狀態(tài)。
缺點(diǎn):
一旦組件有自己狀態(tài),意味著組件如果重新創(chuàng)建,就需要有恢復(fù)狀態(tài)的過(guò)程,這通常會(huì)讓組件變得更復(fù)雜。
用法:

useState(initialState) 的參數(shù) initialState 是創(chuàng)建 state 的初始值。


它可以是任意類型,比如數(shù)字、對(duì)象、數(shù)組等等。


useState() 的返回值是一個(gè)有著兩個(gè)元素的數(shù)組。第一個(gè)數(shù)組元素用來(lái)讀取 state 的值,第二個(gè)則是用來(lái)設(shè)置這個(gè) state 的值。


在這里要注意的是,state 的變量(例子中的 count)是只讀的,所以我們必須通過(guò)第二個(gè)數(shù)組元素 setCount 來(lái)設(shè)置它的值。


如果要?jiǎng)?chuàng)建多個(gè) state ,那么我們就需要多次調(diào)用 useState。

什么樣的值應(yīng)該保存在 state 中?
通常來(lái)說(shuō),我們要遵循的一個(gè)原則就是:state 中不要保存可以通過(guò)計(jì)算得到的值 。

從 props 傳遞過(guò)來(lái)的值。有時(shí)候 props 傳遞過(guò)來(lái)的值無(wú)法直接使用,而是要通過(guò)一定的計(jì)算后再在 UI 上展示,比如說(shuō)排序。那么我們要做的就是每次用的時(shí)候,都重新排序一下,或者利用某些 cache 機(jī)制,而不是將結(jié)果直接放到 state 里。
從 URL 中讀到的值。比如有時(shí)需要讀取 URL 中的參數(shù),把它作為組件的一部分狀態(tài)。那么我們可以在每次需要用的時(shí)候從 URL 中讀取,而不是讀出來(lái)直接放到 state 里。
從 cookie、localStorage 中讀取的值。通常來(lái)說(shuō),也是每次要用的時(shí)候直接去讀取,而不是讀出來(lái)后放到 state 里。

useEffect:執(zhí)行副作用

useEffect(fn, deps);

useEffect ,顧名思義,用于執(zhí)行一段副作用。
什么是副作用?
通常來(lái)說(shuō),副作用是指一段和當(dāng)前執(zhí)行結(jié)果無(wú)關(guān)的代碼。比如說(shuō)要修改函數(shù)外部的某個(gè)變量,要發(fā)起一個(gè)請(qǐng)求,等等。
也就是說(shuō),在函數(shù)組件的當(dāng)次執(zhí)行過(guò)程中, useEffect 中代碼的執(zhí)行是不影響渲染出來(lái)的 UI 的。
對(duì)應(yīng)到 Class 組件,那么 useEffect 就涵蓋了 ComponentDidMount、componentDidUpdate 和 componentWillUnmount 三個(gè)生命周期方法。不過(guò)如果你習(xí)慣了使用 Class 組件,那千萬(wàn)不要按照把 useEffect 對(duì)應(yīng)到某個(gè)或者某幾個(gè)生命周期的方法。你只要記住,useEffect 是每次組件 render 完后判斷依賴并執(zhí)行就可以了。

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44380

    瀏覽量

    628656
  • plc
    plc
    +關(guān)注

    關(guān)注

    5001

    文章

    12963

    瀏覽量

    459486
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    三菱plc遠(yuǎn)程監(jiān)控網(wǎng)關(guān)是什么

    隨著工業(yè)自動(dòng)化技術(shù)的快速發(fā)展,對(duì)于生產(chǎn)過(guò)程的實(shí)時(shí)監(jiān)控和遠(yuǎn)程控制需求日益增長(zhǎng)。三菱PLC(可編程邏輯控制器)作為工業(yè)控制領(lǐng)域的佼佼者,其遠(yuǎn)程監(jiān)控網(wǎng)關(guān)的出現(xiàn),為工業(yè)自動(dòng)化系統(tǒng)帶來(lái)了前所未有的靈活性和高效
    的頭像 發(fā)表于 08-28 14:05 ?178次閱讀
    <b class='flag-5'>三菱</b><b class='flag-5'>plc</b>遠(yuǎn)程監(jiān)控網(wǎng)關(guān)是什么

    三菱異常停止plc怎么解決

    三菱電機(jī)(Mitsubishi Electric)是一家知名的日本企業(yè),其生產(chǎn)的PLC(可編程邏輯控制器)廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域。然而,在使用過(guò)程中,PLC可能會(huì)出現(xiàn)異常停止的情況。 一、
    的頭像 發(fā)表于 07-25 10:13 ?778次閱讀

    三菱plc程序后綴名有幾種

    的控制。三菱PLC是日本三菱電機(jī)公司生產(chǎn)的一種PLC產(chǎn)品,具有較高的市場(chǎng)占有率和良好的用戶口碑。 關(guān)于三菱
    的頭像 發(fā)表于 07-01 10:40 ?1301次閱讀

    三菱plc型號(hào)區(qū)別在哪

    三菱PLC(Programmable Logic Controller,可編程邏輯控制器)是日本三菱電機(jī)公司生產(chǎn)的一種工業(yè)自動(dòng)化控制設(shè)備。三菱PLC
    的頭像 發(fā)表于 07-01 10:38 ?1363次閱讀

    三菱plc使用什么協(xié)議類型

    三菱PLC(Programmable Logic Controller,可編程邏輯控制器)是工業(yè)自動(dòng)化領(lǐng)域中廣泛應(yīng)用的一種控制器。它通過(guò)接收輸入信號(hào),執(zhí)行用戶編寫的程序,然后輸出控制信號(hào)來(lái)實(shí)現(xiàn)
    的頭像 發(fā)表于 07-01 10:31 ?1005次閱讀

    三菱PLC支持哪些通訊協(xié)議

    三菱PLC(Programmable Logic Controller,可編程邏輯控制器)是一種廣泛應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域的控制設(shè)備。它具有高度的可靠性、靈活性和易用性,能夠滿足各種工業(yè)自動(dòng)化需求
    的頭像 發(fā)表于 07-01 10:20 ?2892次閱讀

    三菱plc累加指令怎么用

    三菱PLC(Programmable Logic Controller,可編程邏輯控制器)是工業(yè)自動(dòng)化領(lǐng)域常用的一種控制器。累加指令是PLC編程中的一種基本指令,用于對(duì)數(shù)據(jù)進(jìn)行累加操作。在三菱
    的頭像 發(fā)表于 06-20 11:34 ?2162次閱讀

    三菱fx系列plc怎么讀取程序

    。本文將詳細(xì)介紹如何讀取三菱FX系列PLC程序。 1. 準(zhǔn)備工作 1.1 硬件準(zhǔn)備 三菱FX系列PLC :確保
    的頭像 發(fā)表于 06-20 10:26 ?1180次閱讀

    三菱PLC三菱觸摸屏的通訊設(shè)置

      隨著工業(yè)自動(dòng)化技術(shù)的不斷發(fā)展,三菱PLC(Programmable Logic Controller,可編程邏輯控制器)與三菱觸摸屏的組合已成為許多自動(dòng)化系統(tǒng)中不可或缺的部分。它們之間的通訊設(shè)置
    的頭像 發(fā)表于 06-18 09:12 ?2373次閱讀

    三菱plc485程序如何寫

    RS-485是一種常見(jiàn)的通訊方式。下面將詳細(xì)介紹如何編寫三菱PLC 485程序。 了解三菱PLC 485通訊協(xié)議 在編寫
    的頭像 發(fā)表于 06-16 09:19 ?2180次閱讀

    三菱plc讀取485儀表程序案例教程

    ,實(shí)現(xiàn)自動(dòng)化控制。其中,通過(guò)RS-485通信接口與485儀表進(jìn)行通信是一種常見(jiàn)的應(yīng)用場(chǎng)景。本文將詳細(xì)介紹如何使用三菱PLC讀取485儀表的程序案例,包括硬件連接、通信協(xié)議、程序編寫和調(diào)
    的頭像 發(fā)表于 06-16 09:16 ?2854次閱讀

    三菱觸摸屏與三菱PLC連接的方法

    在工業(yè)自動(dòng)化領(lǐng)域中,觸摸屏與PLC的連接是實(shí)現(xiàn)人機(jī)交互、設(shè)備監(jiān)控和控制的關(guān)鍵環(huán)節(jié)。三菱觸摸屏與三菱PLC作為業(yè)內(nèi)知名的產(chǎn)品,其連接方法一直備受關(guān)注。本文將詳細(xì)介紹
    的頭像 發(fā)表于 06-14 17:18 ?2699次閱讀

    三菱FX3U FX3UC FX3G FX3GA無(wú)損解密方法

    保證可以破解FX3U/FX3UC/FX3G/FX3GA,對(duì)三菱最新型PLC的8位/16位密碼保護(hù)加密方式全部可以破解,完美無(wú)損的讀出原版
    的頭像 發(fā)表于 12-27 17:09 ?4659次閱讀

    STM32 三菱PLC程序案例

    STM32 三菱PLC程序案例
    發(fā)表于 12-11 15:03 ?9次下載

    三菱FX3UFX3G解密文件方法

    三菱FX3UFX3G解密文件,實(shí)測(cè)有效,內(nèi)附方法。
    發(fā)表于 10-17 09:30 ?9次下載