相关平台
微信小程序
小程序基础库: 2.14.0
使用框架: React
复现步骤
使用taro2的时候如下关键代码:
constructor(props) {
super(props);
this.barrageComp = Taro.createRef();
}
initBarrage() {
// 弹幕初始化
const barrageComp = this.barrageComp.current;
this.barrage = barrageComp.getBarrageInstance({
font: 'bold 16px sans-serif',
duration: 60,
lineHeight: 2,
mode: 'separate',
padding: [10, 0, 10, 0],
tunnelShow: false,
animationend: () => {
console.log('animationend');
setTimeout(() => {
this.setState({
barrageVisible: false
});
clearTimeout(barrageLoop);
}, 500);
}
})
}
在Taro3中使用React.createRef(),运行后会报错: a.getBarrageInstance is not a function,上述代码如何修改?
期望结果
无报错
实际结果
TypeError: a.getBarrageInstance is not a function
环境信息
Taro CLI 3.0.16 environment info:
System:
OS: Windows 10
Binaries:
Node: 14.4.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.4 - C:\Users\zhaixuepan\AppData\Roaming\npm\yarn.CMD
npm: 6.14.5 - C:\Program Files\nodejs\npm.CMD
6条答案
按热度按时间tuwxkamq1#
按React的ref,调用上应该是
this.barrageComp.current.getBarrageInstance
吧kxeu7u2r2#
现在代码是按照上面写的,但是会报错: a.getBarrageInstance is not a function
报错代码
rsaldnfx3#
上完整 demo 代码。
看 log ,ref.current 是 DOM,DOM 何来方法
getBarrageInstance
,组件示例才有业务方法。kcugc4gi4#
现在代码是按照上面写的,但是会报错: a.getBarrageInstance is not a function
报错代码
解决了吗?我也遇到这个问题
s71maibg5#
微信小程序
React: 16.10.0
Taro CLI : 3.0.21
System: macOS 10.15.7
Taro.createRef()直接报错createRef not a funtion?
lo8azlld6#
遇到同样的问题