hen*_* pf 0 javascript reactjs
我有一个基本的映射函数,它只是从数据库中进行基本的提取。我想要做的就是一旦获取就将其全部显示在屏幕上。
这是我收到的错误
×
TypeError: Cannot read property 'state' of undefined
(anonymous function)
C:/Users/Henry Peters/Codestone%20Workstation%20Self-Assessment%20Portal%202/src/Components/PageDetails/CompletedAssessments/CompletedAssessments.js:211
208 | return (
209 | <div >
210 |
> 211 | <li> {this.state.selectedSet.RUId}</li>
| ^ 212 | <li> <b>{this.state.selectedSet.QuestionId}</b></li>
213 |
214 | </div>
Run Code Online (Sandbox Code Playgroud)
这是我的班级
class Questions extends React.Component {
constructor(props) {
super(props);
console.log(props);
this.state = { ...props, };
this.checker = this.checker.bind(this)
}
checker( ){
this.setState({viewDetails : true})
let workStation = window.localStorage.getItem("Workstation")
let date = this.state.questions.Date
let email = window.localStorage.getItem("User")
fetch(`/show-questions-answered/${date}/${workStation}/${email}`)
.then(recordset => recordset.json())
.then(results => {
this.setState({ selectedSet: results.recordset });
console.log(this.state.selectedSet)
});
alert(`${date} this is the boolena ${this.state.viewDetails}`)
}
render() {
console.log(`${this.state.previousDate} PREVIOUS DATE ${this.state.questions.Date} DATE`)
if (!this.state.viewDetails){
return (
<div >
<button onClick = {this.checker}className= "btn btn-primary" style = {{float : "right"}}>View Details</button>
<br />
<li> {this.state.questions.Date }</li>
</div>
);}
else{
return(<div >
<button onClick = {this.checker}className= "btn btn-primary" style = {{float : "right"}}>View Details</button>
<br />
<li> {this.state.questions.Date }</li>
<h3>BUTTON ClIcKED</h3>
{this.state.selectedSet &&
this.state.selectedSet.map(function( index) {
return (
<div >
<li> {this.state.selectedSet.RUId}</li>
<li> <b>{this.state.selectedSet.QuestionId}</b></li>
</div>
);
})}
</div>
)
}
}}
Run Code Online (Sandbox Code Playgroud)
console.log(this.state.selectedSet)
Run Code Online (Sandbox Code Playgroud)
确实有效并提供信息和包含的数据库表名称,例如 RUId、questionId 等
所以 this.state.selectedSet.QuestionId 应该可以工作
更改此代码:
{this.state.selectedSet &&
this.state.selectedSet.map(function(index) {
return (
<div>
<li>{this.state.selectedSet.RUId}</li>
<li><b>{this.state.selectedSet.QuestionId}</b></li>
</div>
);
})
}
Run Code Online (Sandbox Code Playgroud)
对此:
{this.state.selectedSet &&
this.state.selectedSet.map((item, index) => {
return (
<div>
<li>{item.RUId}</li>
<li><b>{item.QuestionId}</b></li>
</div>
);
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |