J'ai une situation où, en cliquant sur un élément div, le navigateur devrait naviguer vers une page différente. Dans le onClick de cet événement, je change la valeur de la variable d'état et dans la balise Link, je passe les valeurs au composant suivant.Lien pour ne pas réagir
Le code est comme this-
import React from 'react';
import ReactDom from 'react-dom' ;
import $ from 'jquery' ;
import {Switch, BrowserRouter as Router,Route,Link} from 'react-router-dom'
import {FullBlog} from './FullBlog.js'
class Author extends React.Component{
constructor(props){
super(props);
this.state={
data:this.props.data,
}
this.loadBlog=this.loadBlog.bind(this);
}
loadBlog(i){
var data=this.state.data[i];
this.setState({
data:data,
})
}
render(){
let content=(<p></p>);
//console.log(this.state.data);
var data=this.state.data;
content=(
<div>
<Link to={'/fullblog/${data}'} /><div onClick={this.loadBlog.bind(this,this.props.i)} className="box">
<div>{this.props.i}</div>
<div>{this.props.data.Author}</div>
<div>{this.props.data.Book}</div>
</div>
</div>
)
return content;
}
}
Et la classe parente pour la même est comme celui-ci
import React from 'react'
import ReactDOM from 'react-dom'
import {ExpenseApp} from './expense-app.js'
import {Switch, BrowserRouter as Router,Route,hashHistory} from 'react-router-dom'
import {FullBlog} from './FullBlog.js'
class App extends React.Component{
render(){
return(
<Router>
<div>
<Route path='/' render={()=><ExpenseApp data={data}/>}/>
<Route path='/fullblog' component={FullBlog}/>
</div>
</Router>
)
}
}
ReactDOM.render(<App/>, document.getElementById('container'))
Si je dois utiliser browserhistory comme J'essaie de mettre en œuvre une application web dynamique, alors comment puis-je passer l'histoire? – Aayushi
et que voulez-vous dire par les littéraux de gabarit – Aayushi
Pourquoi voulez-vous passer l'histoire, si elle doit implémenter le routage dynamique, vous pouvez voir cet exemple https://stackoverflow.com/questions/44127739/programme-routing-based-on- A-condition-avec-réagir-routeur/44128108 # 44128108 Voir ceci pour les littéraux de modèle https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals –