第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Reaction-路由器v4中將自定義道具傳遞給路由器組件

在Reaction-路由器v4中將自定義道具傳遞給路由器組件

溫溫醬 2019-07-08 12:50:09
在Reaction-路由器v4中將自定義道具傳遞給路由器組件我正在使用Reaction路由器創(chuàng)建一個(gè)多頁面應(yīng)用程序。我的主要組成部分是<App/>它呈現(xiàn)到子組件的所有路由。我試圖通過路線傳遞道具,并根據(jù)一些研究我這樣做了,子組件最常用的方式是通過this.props.route對(duì)象,它們繼承。但是,對(duì)于我來說,這個(gè)對(duì)象是未定義的。我的render()函數(shù)在子組件中,iconsole.log(this.props)返回一個(gè)像這樣的對(duì)象{match: Object, location: Object, history: Object, staticContext: undefined}一點(diǎn)都不像我所期望的道具。這是我的詳細(xì)代碼。父組件(我試圖在我的所有子組件中傳遞單詞“hi”作為一個(gè)名為“test”的支柱):import { BrowserRouter as Router, HashRouter, Route, Switch } from 'react-router-dom';import Link from 'react-router'; import React from 'react';import Home from './Home.jsx';import Nav from './Nav.jsx';import Progress from './Progress.jsx'; import Test from './Test.jsx';export default class App extends React.Component {   constructor() {     super();     this._fetchPuzzle = this._fetchPuzzle.bind(this);   }   render() {     return (       <Router>         <div>           <Nav />           <Switch>             <Route path="/" exact test="hi" component={Home} />             <Route path="/progress" test="hi" component={Progress} />                          <Route path="/test" test="hi" component={Test} />             <Route render={() => <p>Page not found!</p>} />           </Switch>         </div>       </Router>     );   }}兒童:import React from 'react';const CodeMirror = require('react-codemirror');import { Link } from 'react-router-dom'; require('codemirror/mode/javascript/javascript')require('codemirror/mode/xml/xml');require('codemirror/mode/markdown/markdown'); export default class Home extends React.Component {   constructor(props) {     super(props);     console.log(props)   }   render() {     const options = {       lineNumbers: true,         theme: 'abcdef'           // mode: this.state.mode     };     console.log(this.props)     return (       <div>         <h1>First page bro</h1>                 <CodeMirror value='code lol' onChange={()=>'do something'} options={options} />       </div>);   }}我對(duì)此反應(yīng)很新,所以如果我錯(cuò)過了一些顯而易見的事情,我很抱歉。謝謝!
查看完整描述

3 回答

?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

可以將道具傳遞給組件,方法是使用render道具Route從而內(nèi)聯(lián)您的組件定義。根據(jù)指定經(jīng)營系統(tǒng):

這允許方便的內(nèi)聯(lián)呈現(xiàn)和包裝,而不需要上述不想要的重新安裝。component屬性時(shí),可以傳入要調(diào)用的函數(shù)。location火柴。呈現(xiàn)道具接收所有與組件呈現(xiàn)道具相同的路由道具。

所以您可以將道具傳遞給組件,如

 <Route path="/" exact render={(props) => (<Home test="hi" {...props}/>)} />

然后你就可以像

this.props.test

在你的Home元件

P.S.也要確保你是經(jīng)過{...props}這樣,默認(rèn)的路由器道具就像location, history, match etc也被傳遞到Home組件,否則,傳遞給它的唯一支柱是test.


查看完整回答
反對(duì) 回復(fù) 2019-07-08
?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

我不認(rèn)為這是一個(gè)快速修復(fù),如果您將其傳遞給組件,路由器道具將被傳遞。render()..我漏掉了答案中的那部分。但是,我更新了它,使其包含相同的

查看完整回答
反對(duì) 回復(fù) 2019-07-08
?
海綿寶寶撒

TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊

您應(yīng)該將props參數(shù)添加到傳入的函數(shù)中,并將其與{.props}一起在組件‘home’中使用,否則您將失去標(biāo)準(zhǔn)的支持-Reaction路由器V4傳入

查看完整回答
反對(duì) 回復(fù) 2019-07-08
  • 3 回答
  • 0 關(guān)注
  • 732 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)