盡管為它們使用了不同的鍵值,但我在使用多個組件實體時遇到了困難。例如,我制作了 2 個簡單的頁面并傳遞不同的道具。但是,只有其中一個會記錄或發出警報。不應該是來自每個組件的一條訊息及其道具?我在這里錯過了什么?
class Temp_page extends Component {
constructor(props) {
super(props);
console.log("props", props)
alert("this.props.tag" this.props.tag);
}
render() {
return ( <div id={this.props.tag}> {this.props.tag} </div>);
}
}
和路線:
<Route key="11" path="/temp_1" element = {
<Temp_page tag={"temp_1"}/>
}/>
<Route key="22" path="/temp_2" element = {
<Temp_page tag={"temp_2"}/>
}/>
uj5u.com熱心網友回復:
這是意料之中的。react-router 中的 Route 組件被設計成只渲染匹配的路由。其他人根本不渲染。
當您這樣做element = {<Temp_page tag={"temp_1"}/>}時,不會立即呼叫 Temp_page 的建構式。它只是創建一個元素;換句話說,一個描述頁面該部分應該是什么樣子的小物件。<Route>然后檢查網址。如果 url 匹配,<Route>將回傳你要求它渲染的元素,然后 react 將掛載組件,呼叫它的建構式。相反,如果 url 不匹配,則<Route>回傳 null。該元素最終未被使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/467184.html
標籤:javascript 反应 反应式 反应路由器
下一篇:關于在SQL中創建新變數
