小编Rom*_*and的帖子

如何使用ReactJS,Redux和ES2015正确绑定onChange回调到'this'?

我正在学习ReactJS和终极版,我无法弄清楚如何获得访问我的文本字段实例,同时结合它的onChange回调this.

(我在这个例子中使用了材料-ui,但没有它我会遇到相同的问题)

import React, {Component} from 'react';
import { connect } from 'react-redux';
import { setDataValue } from './actions/data';
import TextField from 'material-ui/lib/text-field';
import Paper from 'material-ui/lib/paper';

export class DataInput extends Component {
    constructor(props){
        super(props);
    }

    handleTextChange() {
        this.props.setDataValue(document.getElementById('myField').value);
    }

    render(){
        return (
            <Paper style={{
                width: '300px',
                margin: '10px',
                padding: '10px'
            }}>
                <TextField 
                  id='myField'
                  defaultValue={this.props.data.value}
                  onChange={this.handleTextChange.bind(this)} />
            </Paper>
        );
    }
}

export default connect(
  (state) => ({data: state.data}),
  {setDataValue}
)(DataInput);
Run Code Online (Sandbox Code Playgroud)

我使用的是一个解决方案,我觉得丑(不能重复使用=>不是很"组件友好")通过设置id在我的文本字段,以及访问其值document.getElementById('myField').value

我怎么能摆脱这个id …

javascript bind ecmascript-6 reactjs redux

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

bind ×1

ecmascript-6 ×1

javascript ×1

reactjs ×1

redux ×1