ReactJS onChange,如果嵌套散列/ json
问题描述:
我只学习ReactJS,而我坚持简单的逻辑(我真的很糟糕的JS)。我有一个表格,包含名字,电子邮件和消息。ReactJS onChange,如果嵌套散列/ json
@ContactUsNew = React.createClass
getInitialState: ->
message: @props.message
getDefaultProps: ->
message: { name: '', email: '', message: ''}
handleChange: (event) ->
name = event.target.name
console.log @setState message: { "#{ name }": event.target.value }
而且我不知道如何来解决这个行@setState message: "#{ name }": event.target.value
工作,因为我有建立这个哈希message: { name: '', email: '', message: '' }
。
我想要存档的是用@setState
更新散列/ json的单个组件。
如果我这样做@setState message: { "#{ name }": event.taget.value }
结果将是message: { email: [email protected] }
(如果电子邮件是在最后输入)。
我只是不知道如何更新散列/ json的每个元素sepperatly。
答
顺便说一句,你的代码是用coffeescript编写的。
你只需要做出更改message
对象,setState
整个事情..理想情况下,你会使用Object.assign
创建一个副本,是这样的:
copy = Object.assign {}, @state.message, { "#{ name }": event.target.value }
@setState message: copy
是的,我知道这是咖啡,我仍然可以在js,jQuery和咖啡中编写简单的东西,但想用js让我的技能更好。没有测试你的建议,但我会收到无法控制的警告? (因为我试图替换值并收到'你不能从可控制切换到错误'。 –