我完全希望通过&#34来解决这个问题;看,你在那里忘记了一个逗号"或者傻事,但我真的看不到它。我已经将问题解决了只有一种redux形式的基本反应本机应用程序。
import React from 'react'
import { createStore, applyMiddleware } from 'redux'
import logger from 'redux-logger'
import { Provider } from 'react-redux'
import { Text, View, TextInput, Button } from 'react-native'
import { combineReducers } from 'redux'
import { reducer as formReducer, Field } from 'redux-form'
import { reduxForm } from 'redux-form'
const rootReducer = combineReducers({ forms: formReducer })
const store = createStore(rootReducer, {}, applyMiddleware(logger))
const validate = (values) => {
const errors = {}
if (!values.name) errors.name = 'Required'
if (!values.email) errors.email = 'Required'
return errors
}
const renderInput = ({ input: { onChange, ...restInput } }) => {
return <TextInput onChangeText={onChange} {...restInput} />
}
class MyForm extends React.Component {
submit = (values) => console.log('Submitting ', values)
render() {
const { handleSubmit } = this.props
return (
<View style={{ padding: 20 }}>
<Text>Please fill in this form:</Text>
<Field name='name' component={renderInput} />
<Field name='email' component={renderInput} />
<Button title='Go' onPress={handleSubmit(this.submit)} />
</View>
)
}
}
const MyConnectedForm = reduxForm({
form: 'myform',
validate
})(MyForm)
export default class App extends React.Component {
render() {
return (
<Provider store={store}>
<MyConnectedForm />
</Provider>
)
}
}
我可以看到事件:
@@ Redux的形式/ CHANGE @@终极版型/ BLUR
正在被触发,并且表单的redux状态发生了变化。然而,验证仅在第一次渲染时被调用一次,而不再被调用。此外,当我按下按钮时,将使用空对象调用提交函数,而不是像我期望的那样调用表单的值。
使用的版本:
答案 0 :(得分:0)
几乎和错误的逗号一样糟糕。我使用了密钥,表单,然后是表单。