Hi , I know I am just forgetting something fundamental about React here but I’ve been circling this problem for too long now:
I want to print the data that is returned from generateRandomCard()
but when I click on button, nothing shows up. A couple of console.log
s in generateRandomCard()
showed correct values so that’s OK.
Code:
import React, { Component } from "react";
class FlashCard extends Component {
state = {
data: [
//a bunch of arrays
]
};
generateRandomCard = () => {
let randomNumber = Math.floor(Math.random() * Math.floor(9));
let randomCard = this.state.data[randomNumber];
};
render() {
console.log(this.randomCard);
return (
<React.Fragment>
<div id="selections" className="row">
<div className="col-md-6">
<select className="form-control form-control-sm">
<option value="makeChoice">
I want to test my knowledge of....
</option>
<option value="urduFront">Nastaleeq</option>
<option value="urduFront">Romanized</option>
<option value="urduFront">Translation</option>
</select>
</div>
</div>
<div className="card">
<div className="card-body">
<h6>{this.randomCard}</h6>
</div>
</div>
<button onClick={this.generateRandomCard}>Generate New Card</button>
</React.Fragment>
);
}
}
export default FlashCard;