我有兩個組件像app.js和SetInterval.js。調用setinterval.js時會調用該函數。現在我想從app.js中調用timeinterval函數。我將分享以下代碼供您參考。如何從reactJs中的另一個組件調用timeinterval函數?
//App.js
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
import SetInterval from './SetInterval';
export default class App extends Component {
render() {
return (
<div className="App">
<SetInterval />
<div className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h2>Welcome to React</h2>
</div>
<p className="App-intro">
To get started, edit <code>src/App.js </code> sadfsdfasdf and save to reload.
</p>
</div>
);
}
}
Setinterval.js
import React, { Component } from 'react';
export default class SetInterval extends Component {
constructor() {
super();
this.state = {
secondsElapsed:0
};
this.tick = this.tick.bind(this);
}
getInitialState(){
return {secondsElapsed:0};
}
tick() {
let secondsElapsed = parseInt(this.state.secondsElapsed) + 1;
this.setState({secondsElapsed: this.state.secondsElapsed + 1});
console.log(this.state.secondsElapsed)
if(this.state.secondsElapsed == 10){
alert(1)
}
}
componentDidMount() {
this.interval = setInterval(this.tick, 1000);
}
componentWillUnmount() {
clearInterval(this.interval);
}
}
我得靠賒賬功能的每個呼叫的secondsElapsed值。
getInitialState對於基於類的組件不是必需的。渲染方法應該顯示secondElapsed。 – vijayst
感謝您的回覆。 – Eswar