我在 github 上新建了一個倉庫 日問,天天一道面試題,有關前端,後端,devops以及軟技能,促進職業成長,敲開大廠之門,歡迎交流css
而且記錄個人面試經驗html
如下是總結的 react 與 webpack 問題,我將在本週末補充答案,另外也歡迎各位補充答案前端
計算機網絡 | 算法與數據結構 | 操做系統 | Linux基礎 | http | vim | gitvue
CSS | Javascript | html | React | Vue | Webpack | 前端工程化node
後端基礎 | 數據庫 | Redis | 微服務架構react
DevOps | Docker | kuberneteslinux
開放式問題webpack
查看全部問題git
在 Issue 中交流與討論: Issue 地址github
待答
在 Issue 中交流與討論: Issue 地址
依個人見解,React hooks
主要解決了狀態以及反作用難以複用的場景,除此以外,他對我最大的好處就是在 Console
中不會看到重重疊疊相同名字的組件了(HOC)。
目前使用感受最爽的兩個hook,都是關於請求的。一個是 apollo-client
的 useQuery
,一個是 swr。
更多描述: 如何使用 react hooks 實現最簡單一個計數器的組件爲了保證最最簡單化,不須要暫停與開始狀態
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
首參不同,直接上 API
React.cloneElement(
element,
[props],
[...children]
)
React.createElement(
type,
[props],
[...children]
)
複製代碼
在 Issue 中交流與討論: Issue 地址
更多描述: 好比設計成 `useFetch` 這種形式,它的 API 應該如何設計
在 Issue 中交流與討論: Issue 地址
能夠參考 How to fetch data with React Hooks?
在 Issue 中交流與討論: Issue 地址
參考: www.robinwieruch.de/react-fetch…
在 Issue 中交流與討論: Issue 地址
Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component.
在之前, react
中全部的組件都會位於 #app
下,而使用 Portals
提供了一種脫離 #app
的組件。
所以 Portals
適合脫離文檔流(out of flow) 的組件,特別是 position: absolute
與 position: fixed
的組件。好比模態框,通知,警告,goTop 等。
如下是官方一個模態框的示例,能夠在如下地址中測試效果 codepen.io/gaearon/pen…
<html>
<body>
<div id="app"></div>
<div id="modal"></div>
<div id="gotop"></div>
<div id="alert"></div>
</body>
</html>
複製代碼
const modalRoot = document.getElementById('modal');
class Modal extends React.Component {
constructor(props) {
super(props);
this.el = document.createElement('div');
}
componentDidMount() {
modalRoot.appendChild(this.el);
}
componentWillUnmount() {
modalRoot.removeChild(this.el);
}
render() {
return ReactDOM.createPortal(
this.props.children,
this.el,
);
}
}
複製代碼
在 Issue 中交流與討論: Issue 地址
數據與UI的進一步分離,這樣也更有利於 SSR
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
更多描述: 能夠實現以下 API
message.info()
message.success()
在 Issue 中交流與討論: Issue 地址
在 Issue 中交流與討論: Issue 地址
我是山月,能夠加我微信
shanyue94
與我交流,備註交流。另外能夠關注個人公衆號【全棧成長之路】
最後再放一個交流羣,掃碼入羣吧