من میخوام تعدادی عکس در زمان های مختلف پشت سر هم اجرا بشند و وقتی به آخرین عکس رسید دوباره از اول شروع بشه و این روند تا زمانی که یه تایمر دیگه جواب نداده تکرار بشه.
این کدی هست که با setInterval نوشتم. قاعدتا هربار که عدد جدید نمایش داده می شود باید زمان نشان دادن اعداد 1 ثانیه اضافه شود. یعنی مثلا برای نشان دادن عدد 10 ، 10 ثانیه طول میکشد. ولی نتیجه بدست آمده در زمان ثابت است. یعنی طبق مقدار اولیه interval عمل می کند و هر 1 ثانیه جواب می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
import React, { Component } from 'react'; import { View, Text } from 'react-native'; class Test6 extends Component { constructor(props) { super(props); this.state = { number:0, interval:1000 }; } componentDidMount(){ setInterval(() => { this.setState({ interval:this.state.interval+1000, number:this.state.number+1, }) }, this.state.interval); } render() { return ( <View> <Text> {this.state.number} </Text> </View> ); } } export default Test6; |