3 回答

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊
它與 TypeScript 無關(guān)。TS 只是一個(gè)編譯器和 linter,您會收到運(yùn)行時(shí)錯誤。這是這一行:
this.reward.rewardMe()
在ref
獲取充分組件后坐騎分配并rewardMe()
試圖立即調(diào)用它。這也是次要錯誤。您不想使用()
調(diào)用或函數(shù)將立即觸發(fā)(并且永不停止)。
該行應(yīng)該是
<Button onClick={this.reward.rewardMe} style={styles.button} variant="contained" color="primary">

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超3個(gè)贊
將您的更改onClick
為這樣的:
onClick={() => {this.reward.rewardMe()}}

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
因?yàn)槲覐膩頉]有使用過這個(gè)方案,但根據(jù)文件/我可能是錯的使用率話題。他們沒有初始化reward
變量。嘗試刪除它,這是固定版本
type Props = {}
class Surprisebutton extends Component<Props>{
render() {
return (
<Reward
ref={(ref) => { this.reward = ref }}
type='memphis'>
<Button onClick={this.reward.rewardMe()} style={styles.button} variant="contained" color="primary">
Surprise!
<FavoriteIcon style={{ marginLeft: 10 }} />
</Button>
</Reward>
)
}
}
再說一次,我可能是錯的,但根據(jù) github 頁面,我認(rèn)為這是我唯一可以推斷的。
添加回答
舉報(bào)