React native react native中onChangeText给出错误

React native react native中onChangeText给出错误,react-native,react-native-android,setstate,React Native,React Native Android,Setstate,我有以下代码 从“React”导入React; 从“react native”导入{样式表、文本、视图、安全区域视图、滚动视图、图像、文本输入}; 从“react native vector icons/Entypo”导入Entypo; 从“react native Neormorp shadows”导入{Neormorp}; 导出常量主屏幕=({navigation})=>{ 状态={ fname:“”, sname:“, } 报税表( 名字 this.setState({fname:nex

我有以下代码

从“React”导入React;
从“react native”导入{样式表、文本、视图、安全区域视图、滚动视图、图像、文本输入};
从“react native vector icons/Entypo”导入Entypo;
从“react native Neormorp shadows”导入{Neormorp};
导出常量主屏幕=({navigation})=>{
状态={
fname:“”,
sname:“,
}
报税表(
名字
this.setState({fname:nextValue})}
值={this.state.fname}
/>
第二个名字
this.setState({sname:nextValue})}
值={this.state.sname}
/>
)

}
您正在使用一个功能组件,因此该组件不支持状态

您可以切换到如下所示的基于类的组件

export class HomeScreen extends Component {
  state = {
    fname : "",
    sname : "",
  }
  
  render()
{
 //return jsx
}
}
export const HomeScreen = ({ navigation }) => {
  const [fname,setfname] = React.useState("");
  
  return()
}
或者像下面那样使用useState钩子

export class HomeScreen extends Component {
  state = {
    fname : "",
    sname : "",
  }
  
  render()
{
 //return jsx
}
}
export const HomeScreen = ({ navigation }) => {
  const [fname,setfname] = React.useState("");
  
  return()
}

您可以使用setfname(“value”)来设置值。

谢谢@GuruparanGiritharan,但为此,我需要调用handlefname和handleSname函数,但我正在尝试在同一行中执行此操作,就像在TextInput中一样。是否仍然存在?使用基于类的组件的第一个选项,然后您将有权访问state,但我必须使用navigation如何在基于类的组件中使用它?您可以通过“this.props.navigation”访问navigation,它将作为prop传递:)