Ich habe einen Zweifel über den Zustand der Komponente. Ich habe eine Kachelkomponente. Beim Klicken auf die Kachelkomponente schalte ich die Details der Kachelkomponente um.teilen einen gemeinsamen Zustand unter doppelten Reaktionskomponente in React JS
/* ---- Tile component ---- */
import React, { Component } from 'react';
import TileDetail from './TileDetail';
class Tile extends Component {
constructor(props) {
super(props);
this.state = {
isTileDetailOpened:false
};
this.showTileDetails=this.showTileDetails.bind(this);
}
showTileDetails(networkName){
this.setState({isTileDetailOpened:!this.state.isTileDetailOpened});
alert(networkName);
}
render() {
const isTileDetailOpened = this.state.isTileDetailOpened;
return (
<li className={ !this.state.isTileDetailOpened ? "tile-item" : "tile-item-with-detail" }>
<div onClick={(e) => this.showTileDetails(this.props.objTile.network_name)}>
{this.props.objTile.network_name}
</div>
{this.state.isTileDetailOpened ? <TileDetail /> : <div/>}
</li>
);
}
}
export default Tile;
/* ---- Tile Detail component ---- */
import React, { Component } from 'react';
class TileDetail extends Component {
render() {
return (
<div className="tile-detail">
<p>TileDetails</p>
</div>
);
}
}
export default TileDetail;
Wie Sie sehen können, bin ich Makeln die Fliese Detail auf Klick auf Fliese klicken und seine Arbeit gut. Ich rendere das Sammeln von Kacheln auf meiner Seite. Und es funktioniert gut, wenn ich auf einzelne Fliesen klicke. Aber was ich will, wenn ich das Detail einer Fliese sehe, sollten andere Fliesendetails immer versteckt sein. Könnten Sie mich bitte hierüber leiten? Komplett neu auf React JS
Sie müssen Ihre 'isTileDetailOpened' innerhalb' TileDetail' Komponente speichern. Versuche das zu tun. Es wird klappen. Wenn Sie nicht herausfinden können, wie, lassen Sie es mich wissen – iamsaksham