用Reflux来做计数器 首先需要在项目的目录下执行 npm install -save reflux
代码如下
/** * Sample React Native App * https://github.com/facebook/react-native * @flow */ import React, {Component} from 'react'; import { AppRegistry, StyleSheet, Text, View } from 'react-native'; import Reflux from "reflux"; var Actions = Reflux.createActions(["increment"]); var CounterStore = Reflux.createStore({ listenables: Actions, init: function () { this.state = {count: 0}; }, onIncrement: function (txt) { this.state.count++; this.trigger(this.state); } }); export default class TestReflux extends Component { constructor(props) { super(props); this.state = { count : 0, }; this._change = this._change.bind(this); } render() { return ( <View style={styles.container}> <Text style={styles.counter}> {this.state.count} </Text> </View> ); } componentDidMount() { this.unsubscribe = CounterStore.listen(this._change) setInterval(Actions.increment, 1000); } componentDidUnMount() { this.unsubscribe(); } _change(data) { this.setState({ count: data.count, }); } } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, counter: { fontSize: 20, textAlign: 'center', margin: 10, }, }); AppRegistry.registerComponent('TestReflux', () => TestReflux);
效果如下: