기본 타이머를 반응식으로 만들려고하는데 작동하지 않습니다. 콘솔에 오류가 없습니다. 그냥 setInterval
을 무시하면됩니다. 나는 TimerMixin 문제를 ES6 (읽지 않음)으로 읽었습니다. 당신은 단순히 여기에 표시된 간단한 형태에서 작동하지 않는? 단지 기본 setInterval
타이머를 사용하려면 그래서setInterval도 setTimeout도 반응이 없습니다. 네이티브 ES6
import React, { Component } from 'react';
import { AppRegistry, Text } from 'react-native';
class HelloWorldApp extends Component {
componentDidMount() {
console.log('COMPONENTDIDMOUNT')
//this.timer= <--//This doesn't work either
var timer = setInterval(() => {
console.log('I do not leak!');
}, 5000);
}
componentWillUnmount() {
console.log('COMPONENTWILLUNMOUNT')
clearInterval(timer);
}
render() {
return (
<Text>Hello world!</Text>
);
}
}
AppRegistry.registerComponent('HelloWorldApp',() => HelloWorldApp);
콘솔에 무엇이 있습니까? – zerkms
귀하의 링크는 브라우저 타이머를 구현한다고 명시 적으로 말하면서 다른 점이 여기에 있습니다. 제 생각에 이것은'ReferenceError'를 가지고 있기 때문에 컴파일되지 않습니다 :'componentWillUnmount'의'timer'가 정의되지 않았습니다. – Jack
당신은 타이머 var가 componentDidMount 함수에서만 사용 가능하다는 것을 이해합니다 - 사용되는 두 함수 모두에 접근 할 수있는 var를 생성해야합니다. 그러나 문제는 setInterval이 결코 실행되지 않는다고 제안하는 것 같습니다. –