我一直在尝试在过去的几周里学习React和Redux。我似乎无法正确传递一个属性作为属性,当我运行它时,我得到了一个“无法读取属性”的null属性。但是在网上找到一些代码,我可以使用es5语法来尝试它,并且它工作正常有谁知道我在做什么错在ES6,我怎样才能使它发挥作用呢?下面是我尝试在ES6不与注释掉ES5风格,确实工作。反应es5 vs es6
import React, { Component, PropTypes } from 'react'
export default class InputFoo extends Component {
//export default React.createClass({
submitHandler(evt){
evt.preventDefault()
const { inputFooAction } = this.props
inputFooAction(evt.target[0].value);
}
//,
render() {
const { input } = this.props
return (<div>
<h1>Oh hey from inside the component {input}</h1>
<form onSubmit={this.submitHandler}>
<input type="text" id="theInput"/>
</form>
</div>)
}
}//)
//block below is commented out for es5
InputFoo.propTypes = {
inputFooAction: PropTypes.func,
input: PropTypes.string
}
它可能会更清楚,如果你把ES2015代码在一个片段,并在另一个的(工作)ES5解决方案。另外,请包括发生错误的地方。 –
可能重复[无法访问事件处理程序中的React实例(this)](http://stackoverflow.com/questions/29577977/unable-to-access-react-instance-this-inside-event-handler) –
There提供了很多很棒的答案。我真的很感激时间。多个答案是正确的,我选择了第一个作为决胜者的人。我没有意识到我需要手动附加功能。感谢大家! – Peter3