javascript - ReferenceError:在初始化之前无法访问“trainingID”
问题描述
我应该如何访问我的 componentDidMount 方法中的数据?我已经将“trainingID”发送到我的组件中
<AthleteRegisterForm trainingID={this.props.match.params.trainingID}/>
现在我在我的组件中这样称呼它:
class AthleteRegisterForm extends React.Component {
trainingID = this.props.trainingID;
state = {
training: {}
}
componentDidMount() {
const trainingID = trainingID;
axios.get(`http://127.0.0.1:8000/api/${trainingID}`)
.then(res => {
this.setState({
training: res.data
});
})
}
trainingID = this.props.trainingID
在我刚刚调用的方法下:
常量训练ID = 训练ID;
我应该改变什么?
解决方案
您trainingID
在初始化之前使用。它是正确的。您已const
在 componentDidMount 挂钩中声明它并在类中使用。你想像这样使用它:
class AthleteRegisterForm extends React.Component {
constructor(props) {
// this is necessary to use it on componentDidMount
super(props)
//...
}
componentDidMount() {
const trainingID = this.props.trainingID;
推荐阅读
- mongodb - 404 未授权:使用 Realm CLI 进行身份验证:
- java - Junit 模拟泛型类作为方法参数
- r - R Shiny:为不同的数据集创建唯一的数据表
- graphdb - 无论如何要恢复已删除的graphdb存储库吗?
- python - 在python中将带有数值的图例格式化为标签
- python - Python GCP API 无法读取环境值
- cordova - Apache Cordova Java 15 gradle-2.13-all 错误
- python - 比较所有元素是否相等
- python - TypeError: tuple - keras 自定义错误上的元组
- html - 使用 purrr / map 将自定义函数(创建 HTML 表)应用于数据框的每一列