【发布时间】:2019-12-02 01:34:34
【问题描述】:
我想更新两个组件之间的状态,我的反应知识有点生疏,但这就是我构建组件的方式。
子组件 - 向 API 端点发出 get 请求,并将数据呈现到我的图表库
export default class EmployerLearningNeeds extends Component {
constructor(props) {
super(props)
this.state = {
employerData: [],
}
}
componentDidMount() {
this.fetchData() //
}
fetchData = () => {
axios.get(fullAPI).then(res => {
const apiResponse = res.data
apiResponse.map(employer => {
console.log('ChildResponse', apiResponse)
// eslint-disable-next-line no-param-reassign
employer.value = employer.value.toFixed(2)
return employer
})
this.setState({
employerData: apiResponse,
})
})
}
getOption = () => ({ data: this.state.employerData })
render() {
return(
<ReactEcharts option={this.getOption()}
)}
父组件 - 渲染我的子组件,按钮点击应该更新我的子组件的状态
export default class InterviewInsights extends Component {
constructor(props) {
super(props)
this.state = {
employerData: [], }
}
testFunction = () => {
axios.get(apiURL).then(res => {
console.log('Parent response', res.data)
this.setState({
employerData: res.data,
})
})
}
render() {
return (
<button href="#" onClick={this.testFunction}>
click me
</button>
<EmployerLearningNeeds employerData={this.state.employerData} />
)
}
【问题讨论】:
标签: javascript reactjs ecmascript-6