簡書上轉載有一個臺灣同胞寫的關于RxJs非常好的系列文章-30天精通RxJS。
但是上面的例子都是基于RxJs V5版本寫的,但是目前(2019-9)Rx.Js從npm下載的已經(jīng)是6.5.3版本。他提供的例子需要一些修改。
為了方便調(diào)試和驗證。我把例子都寫在Create-react-app生成的初始項目的app.js里面了。
所以可能需要一點React及React Hooks的知識。
下面是第一篇的代碼升級:
//先安裝Rx.JS npm install rxjs
import React, { useState, useEffect } from 'react';
import './App.css';
import { fromEvent} from 'rxjs';
import { take } from 'rxjs/operators';
function App() {
useEffect(() => {
console.log('rx.js');
fromEvent(document.body, 'click').pipe( // 注冊監(jiān)聽
take(1) // 只取一次
)
.subscribe(e => console.log(e));
}, [])
return (
<div className="App">
<h1>Rx.Js</h1>
</div>
);
}
export default App;
//注意的是 由于body里面的內(nèi)容很少,只有鼠標點擊h1標簽附近才能觸發(fā)事件。