我目前正在学习ReactJS,遵循Wes Bos优秀的教程,但是我已经达到了关于双向数据绑定的部分,似乎Wes正在教授的方法现在已经被弃用了。我现在需要尝试为下面的代码找到正确的方法,否则我将无法继续学习本教程。
我遇到的问题是"valueLink",console说我应该用“value”和“onChange”来代替它。有没有人能帮我解决这个问题,似乎react涉及的很多学习都是试图保持在所有不推荐使用的元素之上!
<input type="text" valueLink={linkState('fishes.' + key + '.name')}/>发布于 2016-06-03 01:04:47
我现在遇到的问题是"valueLink",控制台说我应该用“
”和“onChange”来代替它。有没有人能帮我解决这个问题,似乎react涉及的很多学习都是试图保持在所有不推荐使用的元素之上!
Value Link是设计模式,Facebook不能弃用它。他们只需从React核心中删除该模式的实现即可。通读这篇文章,了解关于该模式的解释:
https://medium.com/@gaperton/managing-state-and-forms-with-react-part-1-12eacb647112#.5o63wmy72
没有使用现代React的简单/混乱的双向数据绑定!
你不必使用他们的值链接实现(无论如何它都是非常有限的)。你也不必到处写这些愚蠢的回调函数。本文中介绍的这个功能要强大得多。
发布于 2016-05-03 23:50:06
使用现代React没有简单/混乱的双向数据绑定!
控制台试图告诉您的是,您应该使用" value“属性来定义该输入的值,并使用"onChange”属性来定义将触发更改的函数。
所以,你会有:
<input
type="text"
value={name}
onChange={(event) => { onNameChange(event.target.value)}}
/>onNameChange方法将导致您的"name“变量更改为输入的新值。
请注意,onNameChange方法将是您自己定义的方法,它没有什么特别之处;它可以是优雅的,也可以是您想要的。现在,你可能想让它发送一个动作来更新单一的事实来源,即你的应用程序的状态。看看Redux,你还有很多东西要学;-)
发布于 2016-05-03 23:45:32
建议您使用onChange事件处理程序来设置状态值:
<input type="text" name="name" onChange={ this.onInputChange.bind(this) } />基本上,您必须创建一个名为onInputChange()的方法并处理那里的更改。
这只是一个参考,最后,你可能应该参考一个新的教程。我推荐this one.
https://stackoverflow.com/questions/37008476
复制相似问题