Forked from suusofttruongnv/react-native-wheel-of-fortune We did some modifications to fit our needs.
Wheel of fortune component for React Native
Use the package manager npm and yarn to install react-native-wheel-of-fortune.
yarn add @fidme/react-native-wheel-of-fortune
# or using npm
npm i @fidme/react-native-wheel-of-fortune --saveWheelofFortune is dependent on react-native-svg and D3-shape plugins.
import WheelOfFortune from "@fidme/react-native-wheel-of-fortune";| Property | Type | Default | Desc |
|---|---|---|---|
| rewards (required) | Array |
- | Set Rewards |
| winner | Number |
random | Set winner index |
| colors | Array |
Default Colors | Segment background colors |
| duration (ms) | Number |
10000 | Completion time (ms) |
| getWinner (required) | callback(value,index) |
- | Winner value and index callback function |
| backgroundColor | String |
#FFFFFF | Wheel background color |
| borderWidth | Number |
2 | Wheel border width |
| borderColor | String |
#FFFFFF | Wheel border color |
| textColor | String |
#FFFFFF | Rewards text color |
| knobSize | Number |
20 | Knoob size |
| knoobSource | Path |
knoob.png | Knoob source |
| playButton | render() |
example | Render method for tap to play button |
| innerRadius | Number |
100 | Set inner radius size |
| innerRadius | Number |
100 | Set inner radius size |
| textAngle | String |
horizontal | Set angle of reward text |
| typeRewards | [String] |
require | Set type rewards |
| sizeIconReward | Number |
30 | Icon reward size |
| iconRewards | [Path] |
[knoob.png] | Icon reward source |
const participants = [
'%10',
'%20',
'%30',
'%40',
'%50',
'%60',
'%70',
'%90',
'FREE',
];
const typeRewards = [
'Point',
'Gold',
'Cash',
'Point',
'Gold',
'Cash',
'Point',
'Gold',
'FREE',
];
const wheelOptions = {
rewards: participants,
knobSize: 50,
borderWidth: 5,
borderColor: '#000',
innerRadius: 50,
duration: 4000,
backgroundColor: 'transparent',
textAngle: 'horizontal',
knobSource: require('./assets/images/knoob.png'),
typeRewards: typeRewards,
sizeIconReward: 40,
iconRewards: iconRewards,
getWinner: (value, index) => {
this.setState({winnerValue: value, winnerIndex: index});
},
onRef: ref => (this.child = ref),
};
<WheelOfFortune
options={wheelOptions}
/>
<Button title="Press me" onPress={ () => { this.child._onPress() } } />For more information and test go to /Example folder.
