<React.StrictMode>
進入嚴格模式以下詳列:
//測試程式碼
class Greeting extends React.Component {
componentWillReceiveProps() {
console.log("Will Mount")
}
action() {
console.log(ReactDOM.findDOMNode(this.refs.input).value);
}
render() {
return (<div>
<h1>Hello, {this.props.name}</h1>
<input onClick={() => this.action()} ref='input' />
</div>
)
}
}
class App extends React.Component{
render(){
return(
<React.StrictMode>
<Greeting name="Jim"/>
</React.StrictMode>
);
}
}
ReactDOM.render(
<App/>,
document.getElementById('root')
);
嚴格模式是一個用來突顯應用程式裡潛在問題的工具。如同 Fragment 一樣,嚴格模式不會 render 任何可見的 UI。它為了底下的所有的依賴們啟動了額外的檢查和警告。
以上今天。
參考資料:
https://zh-hant.reactjs.org/docs/strict-mode.html#warning-about-legacy-string-ref-api-usage
https://zh-hant.reactjs.org/docs/react-dom.html#finddomnode
https://zh-hant.reactjs.org/docs/legacy-context.html