非常に新しい、これを修正する方法を理解することはできません。 コンポーネント(プロジェクト)をクリックして、親の状態を変更して、レンダリングするものを決定します。React:親の状態を変更するコンポーネントをクリックしてください
render(){
return(
<div className="third" value={this.props.value} onClick={this.props.onClick}>
<h3>{this.props.projectName}</h3>
<div className="container">
<img src={this.props.imgAddress} className="image" />
<div className="middle">
<div className="text">{this.props.projectDescription}</div>
</div>
</div>
</div>
)
}
は、私が最初にクリックした場合:
App.js、アプリケーションコンポーネントでは、
constructor(props){
super(props);
this.state = {
load: ''
}
}
handleClick(e){
this.setState({load: e.target.value});
console.log("Clicked!");
console.log(e);
console.log(e.target.value);
}
display(load){
if (load === 'bmi') {
return <Bmi />
}
else return "";
}
render() {
return (
<div className="App">
<div className="App-header">
<h2>Projects</h2>
</div>
<div className="box">
<Project projectName="BMI Calculator"
projectDescription="A simple React program, using sliders to select weight and height to calculate BMI."
imgAddress="https://cdn.vertex42.com/ExcelTemplates/Images/bmi-chart.gif"
value="bmi"
onClick={this.handleClick}/>
<Project projectName="..."
projectDescription="..."
<Project projectName="Something Else"
projectDescription="Describing that other thing that I did." />
</div>
<div className={this.state.item}>
{this.display(this.state.item)}
</div>
</div>
);
}
プロジェクトがありProject.js、から呼び出されていコンソールショー:
clicked!
Proxy {dispatchConfig: Object, _targetInst: ReactDOMComponent, nativeEvent: MouseEvent, type: "click", target: img.image…}
undefined
ターゲット:img.imageがコンソールに表示されているので、同じ要素onClickプロパティにdiv.thirdという名前の要素を与えようとしましたが、これはうまくいかなかった。 私はそれをProject.jsのレンダリングのすべての要素に与えようとしましたが、それもうまくいきませんでした。
それでした。どうもありがとう –