【发布时间】:2020-05-09 22:57:18
【问题描述】:
我们开始以 3 名刚开始反应的学生的身份开展一个项目。我想拆分代码,这样每个人都可以同时处理一些事情。但是当我尝试在 App.js 中使用 icon-bar.js 的状态时,我收到了错误消息。 应用.js
import React, {Component} from 'react';
import './App.css';
import IconBar from './components/icon-bar';
import Events from './components/events';
function App() {
return (
<div className="App">
<h1 className="Title">ENAKS</h1>
<IconBar />
<Events />
<div className="mainModeFrame"><p1>{this.state.mode}</p1></div>
</div>
);
}
export default App;
icon-bar.js
import React, {Component} from 'react';
import '../App.css';
class IconBar extends Component {
constructor() {
super()
this.state = {
mode: 'Hi'
}
}
render() {
return(
<div className="icon-bar">
<div className="iconHolder">
<img src="/images/2dlogo.png" alt="" className="icons" onClick={() => this.setState({mode: '2d'})}/>
<img src="/images/3dlogo.png" alt="" className="icons" onClick={() => this.setState({mode: '3d'})}/>
<img src="/images/flag.png" alt="" className="icons" onClick={() => this.setState({mode: 'edit'})}/>
<img src="/images/tracker.png" alt="" className="icons" onClick={() => this.setState({mode: 'track'})}/>
<div>{this.state.mode}</div>
</div>
</div>
)
}
}
export default IconBar;
如何使用我的“模式”状态来更改 App.js 中的 p1
【问题讨论】:
-
查看 redux。
-
@CiBoz 我正在起草我的答案。答案如下。
-
将模式置于父 comp 状态并在渲染
<IconBar mood={this.state.mood} />中作为 prop 传递,并使用this.props.mood在子 comp 中访问
标签: javascript reactjs