Reactjs 无法使用react-typed.js回调声明
每次类型字符串随此节点模块更改时,我都尝试更新位于状态中的计数器。当我将Reactjs 无法使用react-typed.js回调声明,reactjs,typed.js,Reactjs,Typed.js,每次类型字符串随此节点模块更改时,我都尝试更新位于状态中的计数器。当我将preStringTyped函数附加到组件时,该函数(位于preStringTyped中的警报仅触发一次 以下是模块: 这是我的代码-您可以忽略randomlyselements和displayteets函数,这里重要的是preStringTyped和return()中的内容 preStringTyped=()=>{ 警报(“键入”) } randomlySelectElements=(数字,数组)=>{ 让shuffedA
preStringTyped
函数附加到组件时,该函数(位于preStringTyped
中的警报
仅触发一次
以下是模块:
这是我的代码-您可以忽略randomlyselements
和displayteets
函数,这里重要的是preStringTyped
和return()中的内容
preStringTyped=()=>{
警报(“键入”)
}
randomlySelectElements=(数字,数组)=>{
让shuffedArray=\洗牌(数组);
设selectedEle=shuffedArray.slice(0,数字);
返回selectedEle;
}
显示tweets=()=>{
如果(!this.state.rawData){
返回空
}否则{
让GetRandomTweetsString=()=>{
返回this.randomlySelectElements(10,this.state.rawData)
.map((元素,索引)=>{
返回ele.masterData.randomString
})
}
返回(
)
}
}
首先,您需要使用preStringTyped
回调(而不是onBegin
),该回调将在键入每个字符串之前触发。同样,在代码中,您可以立即执行函数this.preStringTyped()
,但应该将其作为回调属性的引用传递(preStringTyped={this.preStringTyped}
)。您的代码应该是这样的
preStringTyped = () => {
alert("typed")
}
randomlySelectElements = (number, array) => {
let shuffedArray = _.shuffle(array);
let selectedEle = shuffedArray.slice(0, number);
return selectedEle;
}
displayTweets = () => {
if(!this.state.rawData){
return null
}else{
let getRandomTweetsStrings = () => {
return this.randomlySelectElements(10, this.state.rawData)
.map((ele, index) => {
return ele.masterData.randomString
})
}
return (
<ReactTyped
loop
typeSpeed={50}
backSpeed={20}
strings={
getRandomTweetsStrings()
}
smartBackspace
backDelay={1}
fadeOutDelay={100}
loopCount={0}
showCursor
cursorChar="|"
onBegin={this.preStringTyped()}
/>
)
}
}