我对 FRP 和 bacon.js 还很陌生,所以我可能会做一些非常愚蠢的事情。
测试应用程序有一个文本区域和一个提交按钮;提交按钮将值添加到列表中,每次发生更改时我都会使用 React 显示该列表。这是代码的要点:https://gist.github.com/svileng/1f3702df855b50ed2f5e
我试图修复的错误是我可以多次单击提交按钮,并且文本区域中的最后一个值不断添加到列表中。问题(我猜)是在第 18 行中,我手动清除了 textarea 的值。因此,事件流 newCommentValueS
和属性 newComment
不会更新,并且最后一个值会保留。
我该如何解决这个问题或解决这个问题?谢谢!
最佳答案
解决此问题的一种方法是使用 textFieldValue来自培根.jquery。它创建一个模型,它是可写入的属性的扩展。您的代码将类似于:
var newCommentValueM = Bacon.$.textFieldValue("#new-comment", "")
var newComment = newCommentValueM.filter(v => v.length > 0)
var commentAdded = Bacon.when(
[newComment, buttonClickS], (comment, click) => {
console.log("Submit comment: " + comment)
newCommentValueM.set("")
return comment
}
)
关于javascript - 手动触发 Bacon.js 流更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331054/