2017-02-17 59 views
0

我被这个问题困住了。我无法在输入字段中输入任何内容。我使用这个import {Field,reduxForm} from "redux-form"; 但又失败了。这只是redux中的一个简单字段。我已经阅读了这个关于redux形式的这个link。没有特殊的代码并且很简单,但是当我将它播放到我的浏览器时。我有这个问题。Redux字段没有打字

import * as React from 'react'; 
import {Field,reduxForm} from "redux-form"; 
import {connect} from 'react-redux'; 

class TodoForm extends React.Component<any,any>{ 

    render(){ 
     return (
      <form> 
       <div> 
        <label htmlFor="firstName">First Name</label> 
        <Field name="firstName" component="input" type="text"/> 
       </div> 
       <div> 
        <label htmlFor="lastName">Last Name</label> 
        <Field name="lastName" component="input" type="text"/> 
       </div> 
       <div> 
        <label htmlFor="email">Email</label> 
        <Field name="email" component="input" type="email"/> 
       </div> 
       <button type="submit">Submit</button> 
      </form> 
     ); 
    } 
} 

const TodoFormContainer = reduxForm({ 
    form: 'todo' // a unique name for this form 
})(TodoForm); 

export default connect()(TodoFormContainer); 

我错过了什么吗?

+0

“再次失败”不是一个好的错误描述。请更具体一些。 –

+0

我做了很多测试,甚至添加了这些导入。实际上,没有任何错误显示在我的控制台中,如空虚一样。这是我的问题。我无法追查它。 – user3818576

+0

通常,当你不能输入你的输入字段时,这意味着有一个'onChange'处理程序,但没有更新'value'。你为什么添加'connect'?在你的链接的例子中,这不是必需的。 –

回答

1

我曾经有过同样的问题。我记得原因是你没有在combineReducers()中添加formReducer(如下图所示):

import { createStore, combineReducers } from 'redux' 
import { reducer as formReducer } from 'redux-form' 

const reducers = { 
    // ... your other reducers here ... 
    form: formReducer  // <---- Mounted at 'form' 
} 
const reducer = combineReducers(reducers) 
const store = createStore(reducer)