我有两个组件像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