Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HandleSubmit Redux形式为React Native';t工作(无打印值)_Javascript_Reactjs_React Native_Redux_Redux Form - Fatal编程技术网

Javascript HandleSubmit Redux形式为React Native';t工作(无打印值)

Javascript HandleSubmit Redux形式为React Native';t工作(无打印值),javascript,reactjs,react-native,redux,redux-form,Javascript,Reactjs,React Native,Redux,Redux Form,我正在使用Redux表单捕获提交的用户信息。我已经将Redux表单与存储连接起来,并按照说明编写表单,但是当单击submit按钮时,没有传递任何值 我通常不会问堆栈溢出,所以请原谅我的措辞不好。我不知道如何表达我的问题 我将我的代码复制到零食博览会(链接:) 这是我的密码: 组件/Form.js import React, { Component } from 'react'; import { Field, reduxForm } from 'redux-form'; import { Sty

我正在使用Redux表单捕获提交的用户信息。我已经将Redux表单与存储连接起来,并按照说明编写表单,但是当单击submit按钮时,没有传递任何值

我通常不会问堆栈溢出,所以请原谅我的措辞不好。我不知道如何表达我的问题

我将我的代码复制到零食博览会(链接:)

这是我的密码: 组件/Form.js

import React, { Component } from 'react';
import { Field, reduxForm } from 'redux-form';
import { StyleSheet, View, Text, TouchableOpacity, TextInput } from 'react-native';

const renderField = ({ label, keyboardType, name }) => {
    return (
      <View>
        <Text>{label}</Text>
        <TextInput  keyboardType={keyboardType}
        >
        </TextInput>
    </View>
    );
};

const submit = values => { 
    alert(`here is the value ${JSON.stringify(values)}`)
}
const ContactComponent = props => {
    const { handleSubmit } = props;
    console.log('handle submit ...');
    console.log(handleSubmit);
    return (
        <View>
            <Text>Redux-form example</Text>
            <Field keyboardType="default" label="Username: " component={renderField} name="Username" />
            <Field keyboardType="email-address" label="Email: " component={renderField} name="Email" />
            <TouchableOpacity onPress={handleSubmit(submit)} style={{ margin: 10, alignItems: 'center' }}>
                <Text>Submit</Text>
            </TouchableOpacity>
        </View>
    );
}

const ContactForm = reduxForm({
    form: 'contact', // a unique identifier for this form
})(ContactComponent);

export default ContactForm;
Screen/HomeScreen.js

import { createStackNavigator, createAppContainer } from 'react-navigation';
import HomeScreen from '../screens/HomeScreen';
import React, { Component } from 'react';
import { View, Icon} from 'native-base';

const MainNavigator = createStackNavigator({
  Home: { screen: HomeScreen }
  // AddTransaction: { screen: AddTransaction },
  // TransactionList: { screen: TransactionList }
})

const Main = createAppContainer(MainNavigator);
export default Main;
import React, {Component} from 'react';
import { Container, View, Text, Content, Button, Form } from 'native-base';
import ContactForm from '../components/Form.js';

class HomeScreen extends Component {

  static navigationOptions = { 
    title: 'Home',
  }

  render() {   
    return (
      <Container>
          <ContactForm/>
      </Container>
    );
  }
}

export default HomeScreen;
import React from 'react';
import { View, Text } from 'native-base';
import Main from './components/MainComponent';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware, combineReducers } from 'redux';
import { createLogger } from 'redux-logger';
import { reducer as formReducer } from 'redux-form';

const rootReducer = combineReducers({
  form: formReducer, 
});
export const store = createStore(rootReducer)

export default class App extends React.Component {
  render() {
    return (
      <Provider store={store}>
        <Main />
      </Provider>
    );
  }
}
import React,{Component}来自'React';
从“本机基”导入{容器、视图、文本、内容、按钮、表单};
从“../components/Form.js”导入ContactForm;
类主屏幕扩展组件{
静态导航选项={
标题:"家",,
}
render(){
返回(
);
}
}
导出默认主屏幕;
App.js

import { createStackNavigator, createAppContainer } from 'react-navigation';
import HomeScreen from '../screens/HomeScreen';
import React, { Component } from 'react';
import { View, Icon} from 'native-base';

const MainNavigator = createStackNavigator({
  Home: { screen: HomeScreen }
  // AddTransaction: { screen: AddTransaction },
  // TransactionList: { screen: TransactionList }
})

const Main = createAppContainer(MainNavigator);
export default Main;
import React, {Component} from 'react';
import { Container, View, Text, Content, Button, Form } from 'native-base';
import ContactForm from '../components/Form.js';

class HomeScreen extends Component {

  static navigationOptions = { 
    title: 'Home',
  }

  render() {   
    return (
      <Container>
          <ContactForm/>
      </Container>
    );
  }
}

export default HomeScreen;
import React from 'react';
import { View, Text } from 'native-base';
import Main from './components/MainComponent';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware, combineReducers } from 'redux';
import { createLogger } from 'redux-logger';
import { reducer as formReducer } from 'redux-form';

const rootReducer = combineReducers({
  form: formReducer, 
});
export const store = createStore(rootReducer)

export default class App extends React.Component {
  render() {
    return (
      <Provider store={store}>
        <Main />
      </Provider>
    );
  }
}
从“React”导入React;
从'native base'导入{View,Text};
从“/components/MainComponent”导入主组件;
从'react redux'导入{Provider};
从“redux”导入{createStore、applyMiddleware、CombineReducer};
从“redux logger”导入{createLogger};
从'redux form'导入{reducer as formReducer};
const rootReducer=combinereducer({
形式:formReducer,
});
export const store=createStore(rootReducer)
导出默认类App扩展React.Component{
render(){
返回(
);
}
}

尝试将
输入
道具包含到您的
文本输入
中,如下面的示例所示

const renderField=({label,keyboardType,name,input})=>{
返回(
{label}
);
};

太棒了,它很管用。非常感谢,现在我觉得自己很傻:((