2017-03-03 98 views
0

我是新来的反应本地人,我的代码对于反应的形式的块,需要将其转换成反应使用相同的让变量AddTodo转换一个反应终极版块反应本土

let AddTodo = ({ dispatch }) => { 
let input 

return (
<div> 
    <form onSubmit={e => { 
    e.preventDefault() 
    if (!input.value.trim()) { 
     return 
    } 
    dispatch(addTodo(input.value)) 
    input.value = '' 
    }}> 
    <input ref={node => { 
     input = node 
    }} /> 
    <button type="submit"> 
     Add Todo 
    </button> 
    </form> 
    </div> 
) 
} 
AddTodo = connect()(AddTodo) 
自然元素

任何人都可以帮我吗?这是source code

+1

嗯。几乎所有的HTML标签都用React Native替换。除此之外没有任何变化。 – stinodes

回答

0

以下是react-native的简单代码,它可以从您的反应代码转换而来。 你可以找到更多关于反应原生here。在HTML中,我们使用了组其他元素,以便使用

import { connect } from 'react-redux'; 
import { bindActionCreators } from 'redux'; 

class AddTodo extends Component { 
    constructor(props) { 
    super(props); 

    this.state = { 
     todoText: '' 
    }; 
    } 
render() { 
    return (
    <View> 
     <TextInput 
     onChangeText={(todoText) => this.setState({todoText})} 
     value={this.state.todoText} 
     /> 
     <TouchableHighlight onPress={() => { 
     if(this.state.todoText) { 
      this.props.addTodo(input.value); 
      this.setState({ todoText: '' }) 
     } 
     }}> 
     <Text>Add Todo</Text> 
     </TouchableHighlight> 
    </View> 
    ); 
    } 
} 

function mapStateToProps(state) { 
    return {}; 
} 

function mapDispatchToProps(dispatch) { 
    return { 
    addTodo: bindActionCreators(addTodo, dispatch) 
    } 
} 

export default connect(mapStateToProps, mapDispatchToProps)(AddTodo); 

反应母语

你可以找到反应母语终极版待办事项例如here

+0

Thanks @bun houth。可以指定我应该在哪里创建构造函数并在此示例中初始化状态todoText https://github.com/reactjs/redux/blob/master/examples/todos-with-undo/src/containers /AddTodo.js –

+0

@ThomasJohn更新 –