mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
47 lines
960 B
JavaScript
47 lines
960 B
JavaScript
|
import React from 'react'
|
||
|
|
||
|
export default class MyLuckNo extends React.Component {
|
||
|
constructor (...args) {
|
||
|
super(...args)
|
||
|
this.state = { randomNo: null }
|
||
|
}
|
||
|
|
||
|
componentDidMount () {
|
||
|
this.recalculate()
|
||
|
}
|
||
|
|
||
|
recalculate () {
|
||
|
this.setState({
|
||
|
randomNo: Math.ceil(Math.random() * 100)
|
||
|
})
|
||
|
}
|
||
|
|
||
|
render () {
|
||
|
const { randomNo } = this.state
|
||
|
|
||
|
if (randomNo === null) {
|
||
|
return (<p>Please wait..</p>)
|
||
|
}
|
||
|
|
||
|
// This is an experimental JavaScript feature where we can get with
|
||
|
// using babel-preset-stage-0
|
||
|
const message = do {
|
||
|
if (randomNo < 30) {
|
||
|
'Do not give up. Try again.'
|
||
|
} else if (randomNo < 60) {
|
||
|
'You are a lucky guy'
|
||
|
} else {
|
||
|
'You are soooo lucky!'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return (
|
||
|
<div>
|
||
|
<h3>Your Lucky number is: "{randomNo}"</h3>
|
||
|
<p>{message}</p>
|
||
|
<button onClick={() => this.recalculate()}>Try Again</button>
|
||
|
</div>
|
||
|
)
|
||
|
}
|
||
|
}
|