2017-02-17 62 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)