当前位置: 首页 > 知识库问答 >
问题:

此.setState为本机

张翰海
2023-03-14

我四天前开始学习英语。我试图将属性传递到不同的场景,但是,我不断遇到此错误\u this.setState不是函数。我相信这不是重复,因为我已经通读了这两个堆栈答案,它们的解决方案似乎对我没有帮助。我有一点不同的设置,尽管我认为这可能是问题所在。

反应this.set状态不是一个函数

this.setState不是一个函数

我知道React在这一年里发生了很大的变化,因为(而且经常这样做)这些问题得到了回答,所以我想这可能就是它们不适合我的原因。

import React, { Component } from 'react';
import { StyleSheet, Text, View, TouchableOpacity, TextInput, Platform, } from 'react-native';
import { Actions } from 'react-native-router-flux';

const Social = () => {
state = {
  name: ''
} 
return (
  <View style={ styles.container }>
    <Text style={ styles.Name } onPress={() => Actions.homepage()}>
      Enter your Name:
    </Text>

    <TextInput style={ styles.TextInput} placeholder='PrimeTimeTran' onChangeText={(text) => {
      this.setState({
         name: text,
      })
    }}
      value={this.state.name}
    />
    <TouchableOpacity
      onPress={() => {
        alert(self.state.name)
      }}
    >
      <Text style={ styles.buttonText }>
        Next
      </Text>
    </TouchableOpacity>
  </View>
 );
}

export default Social;

我在这里学习这个教程(22:39),他似乎毫无问题地解决了我的问题。本教程制作于2016年11月1日,所以我相信他的语法不应该有问题。

我看到的唯一区别是,对于我的构造函数,我没有使用render()return()组合,而是使用return()本身;这可能是问题所在吗?

提前感谢!

共有1个答案

华知
2023-03-14

您的社交组件是一个无状态功能组件(在此处使用()创建)=

https://facebook.github.io/react/docs/react-component.html#setstate

因此,您可以声明您的组件如下:

class Social extends React.Component {
  //...implementation here
}

然后,您将可以访问setState以及其他组件生命周期方法。

(您添加的附加说明也是因为您使用的是无状态功能组件-这些组件有效地实现了渲染功能,因此您可以看到的只是该功能的返回部分。)

 类似资料:
  • 我试着读过类似的问题,但没有成功。

  • 我试图在反应应用程序中显示时间,并希望以12小时的格式显示。 我编写了一个函数,如果小时数显示为13或以上,则删除“12”。我想将该函数传递到setState,但仍然会得到一个语法错误。 我希望看到下午1:31,但我只是在setState行中出现了语法错误。我无法忘记这一点。 除此之外,我在之前的状态下如何通过?

  • 我是React的新手,我正在尝试用API编写一个应用程序。我一直得到这个错误: TypeError:This.SetState不是函数 当我尝试处理API响应时。我怀疑这装订有问题,但我不知道如何修理它。下面是我的组件的代码:

  • 问题内容: 有人可以解释一下为什么 this.setState 不是函数吗? 我不明白为什么我的代码有错误 谢谢 问题答案: 这是问题。使用。

  • 问题内容: 这两个功能之间的主要区别是什么? 为什么用直接更改状态的handleOnChange()函数可以正常工作? 当我使用第一个通过回调更改状态的函数时,出现以下错误: 问题答案: 这是setState的两种不同语法 第一: 使用updater函数作为第一个参数。 第二: 使用要更新的对象 在更新程序功能中使用综合事件时,需要使用 从 文档中 : SyntheticEvent被合并。这意味着