Javascript React.js。(现在反应倒计时)如何从另一个组件传递方法上的链接?
在下面的课程中,我使用此软件包实现倒计时: . 我的类有方法“this.props.clearCookies()”,我需要在计时器结束时调用它。提供属性“rerenderer”以访问变量“completed”,并在输入时使用函数。但此.props无法从输入函数中使用。我很困惑,如何在其中传递指向这个.props.clearCookies()的链接Javascript React.js。(现在反应倒计时)如何从另一个组件传递方法上的链接?,javascript,reactjs,Javascript,Reactjs,在下面的课程中,我使用此软件包实现倒计时: . 我的类有方法“this.props.clearCookies()”,我需要在计时器结束时调用它。提供属性“rerenderer”以访问变量“completed”,并在输入时使用函数。但此.props无法从输入函数中使用。我很困惑,如何在其中传递指向这个.props.clearCookies()的链接 从“React”导入React; 从“立即反应倒计时”导入倒计时; 导出默认类TransactionPage扩展React.Component{ 建造
从“React”导入React;
从“立即反应倒计时”导入倒计时;
导出默认类TransactionPage扩展React.Component{
建造师(道具){
超级(道具)
}
渲染器({小时,分钟,秒,完成}){
如果(已完成){
//我需要在此处运行此.prop.clearCookies(),但它不可用。
//我需要帮助找出如何调用它
this.props.clearCookies().bind(this)
返回“азаазааааааааааа107;
}
否则{返回{小时}:{分钟}:{秒}
};
render(){
报税表(
//这里!现在是倒数计时。
//它提供了一个属性“rerenderer”来更改计时器的表示形式。另外,“rerenderer”是访问变量“completed”的一种方法。
}
}
}
我不确定我写的标题是否正确,我不明白如何解释我的问题。渲染器方法没有绑定到组件实例。而且
this.props.clearCookies().bind(this)
没有任何意义。最简单的方法是添加this.renderer=this.renderer.bind(this)
并删除实现中的.bind(this)
。React countdown现在具有onComplete
功能
使用此函数调用this.props.clearCookies
从“React”导入React;
从“立即反应倒计时”导入倒计时;
导出默认类TransactionPage扩展React.Component{
建造师(道具){
超级(道具)
}
渲染器({小时,分钟,秒,完成}){
如果(已完成){
返回“азаазааааааааааа107;
}
否则{返回{小时}:{分钟}:{秒}
};
render(){
报税表(
this.props.clearCookies()}
日期={this.props.dataStamp+6000}呈现程序={this.renderer}burn={this.props.burnCookies}/>
}
}
}
import React from 'react';
import Countdown from 'react-countdown-now';
export default class TransactionPage extends React.Component {
constructor(props){
super(props)
}
renderer({ hours, minutes, seconds, completed }) {
if (completed) {
// I need to run this.prop.clearCookies() here, but it's not available.
// I need help to figure out how to invoke it
this.props.clearCookies().bind(this)
return 'Транзакция просрочена';
}
else { return <span>Истекает через {hours}:{minutes}:{seconds}</span> }
};
render(){
return (
// Here! It's <Countdown /> from react-countdown-now.
// It provides a property "rerenderer" to change representation of timer. Also "rerenderer" is a way to get access to variable "completed".
<Countdown date={this.props.dataStamp + 6000} renderer={ this.renderer } burn={this.props.burnCookies} />
}
}
}