Ich habe zwei Komponenten SideNav und Dashboard (zwei sind in verschiedenen js-Dateien). SideNav wird selectbox als Filter haben. Ich muss ein Array von Dashboard-Komponente zu Sidebar-Komponente übergeben. Dieses Array muss als Wert für das Auswahlfeld angegeben werden (das innerhalb der SideNav-Komponente liegt).Reactjs - Übergabe Zustandswert von einer Komponente zur anderen
class Dashboard extends Component {
constructor(props) {
super(props);
this.state = {viz:{},filterData:{}};
}
var data1= ['1','2','3'];
this.setState({data1: data1}, function() {
console.log(this.state.data1);
});
}
//Sidebar
class Sidebar extends Component {
constructor(props) {
super(props);
this.state = {
data: ['opt1','opt2']
};
}
handleClick(e) {
e.preventDefault();
e.target.parentElement.classList.toggle('open');
this.setState({data: this.state.data1}, function() {
console.log(this.state.data);
});
}
render() {
const props = this.props;
const handleClick = this.handleClick;
return (
<div className="sidebar">
<nav className="sidebar-nav">
<Nav>
<li className="nav-item nav-dropdown">
<p className="nav-link nav-dropdown-toggle" onClick={handleClick.bind(this)}>Global</p>
<ul className="nav-dropdown-items">
<li> Organization <br/>
<select className="form-control">
<option value="">Select </option>
{this.state.data.map(function (option,key) {
return <option key={key}>{option}</option>;
})}
</select>
Könnten Sie einige Code teilen? – mersocarlin
ein besserer Weg wäre, den Zustand zu heben und ihn dann als Requisite an beide Komponenten weiterzugeben. –
Shubham Khatri: Den Staat heben? Kannst du uns das klar erklären – sudhashree