Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 如何获取input-reac本机的值?_Javascript_Reactjs_Forms_React Native - Fatal编程技术网

Javascript 如何获取input-reac本机的值?

Javascript 如何获取input-reac本机的值?,javascript,reactjs,forms,react-native,Javascript,Reactjs,Forms,React Native,我试图在用户单击submit后获取输入值,我有一个简单的表单要求用户签名 当用户在handleLogin中单击submit时,我调用handleSignature并将签名传递给输入,但下面是我丢失了如何获取此字段的值,即包含signature.led的字段 export default function Form({navigation}) { const handleLogin = (data, setSubmitting) => { handle

我试图在用户单击submit后获取输入值,我有一个简单的表单要求用户签名

当用户在handleLogin中单击submit时,我调用handleSignature并将签名传递给输入,但下面是我丢失了如何获取此字段的值,即包含signature.led的字段

 export default function Form({navigation}) {
    
    const handleLogin = (data, setSubmitting) => {  
        handleSignature();
    
    
    }

    return (      
        <>
            <Formik   
                initialValues = {{first_name: '', last_name:' }}
                onSubmit = { (values, {setSubmitting }) => { 
                        
            
                    handleLogin(values, setSubmitting);
                
                }}>

                {({handleChange, handleBlur, handleSubmit, values, isSubmitting, errors, touched}) => ( 
                    
                    <> 
                        <View style={styles.CONTENT}>
                        
                        <View style={styles.INPUTS}>
                                                    
                            <MyTextInput
                                label           = "First Name" 
                                onChangeText    = {handleChange('first_name')}
                                onBlur          = {handleBlur('first_name')}
                                values          = {values.first_name || ''}
                                returnKeyType   = "next"
                                innerRef        = {input1}    
                                
                            />
                            
                            <MyTextInput
                                label           = "Last Name" 
                                onChangeText    = {handleChange('last_name')}
                                onBlur          = {handleBlur('last_name')}
                                values          = {values.last_name}
                                returnKeyType   = "next"
                                refInner        = {input2} 
                            /> 

                            <MyTextInput 
                                values          = {signature} 
                            /> 
                        </View>
                </>
        </Formik>
    )
导出默认函数表单({navigation}){
常量handleLogin=(数据,设置提交)=>{
手签名();
}
报税表(

如果要获取输入值,需要将值绑定到状态,如下所示

          constructor(props) {
                super(props);

            this.state = {
               first_name: '',  // state
               last_name: ''  
            };
          }


          <MyTextInput
              label="First Name"
              onBlur={handleBlur('first_name')}
              values={values.first_name || ''}
              returnKeyType="next"
              innerRef={input1}
              onChangeText={e => this.setState({first_name: e})} // binding value
            />
const handleLogin = (data, setSubmitting) => {  
     handleSignature();
     console.log(this.state.first_name) // the value of input
}

如果您使用类组件,上述方法将有效,但在您的情况下,您使用的是功能组件,因此您可以使用下面的snippt解决问题

import React, {useState, useEffect} from 'react';
export default function Form({navigation}) {
  const [firstName, setFirstName] = useState('');
  const [lastName, setlastName] = useState('');

  const handleLogin = (data, setSubmitting) => {
    handleSignature();

    console.log(firstName); // output the firstname
    console.log(lastName); // output the lastname
  };

  return (
    <>
      <MyTextInput
        label="First Name"
        onBlur={handleBlur('first_name')}
        values={values.first_name || ''}
        returnKeyType="next"
        innerRef={input1}
        onChangeText={e => setFirstName(e)} // binding value
      />
    </>
  );
}
import React,{useState,useffect}来自“React”;
导出默认函数窗体({navigation}){
const[firstName,setFirstName]=useState(“”);
const[lastName,setlastName]=useState(“”);
常量handleLogin=(数据,设置提交)=>{
手签名();
console.log(firstName);//输出firstName
console.log(lastName);//输出lastName
};
返回(
setFirstName(e)}//绑定值
/>
);
}

Sortry关于这个问题,Mohamend,但是我需要在哪里声明“this.state”我放的每一个地方都会收到一个错误“Unexpexted token,expected”,。我已经更新了我问题的代码。谢谢你回答更新@PedroThank you:)终于开始工作了欢迎你@Pedro