如何在React Native中为已经存在的状态增加价值?

时间:2018-10-05 08:49:27

标签: react-native

我有一个名为projectname的状态属性

this.state={
  projectname: ""
}

单击按钮时,我需要将状态值更改(例如从“ Project”更改为“ Project-01”)。

这里的状态projectname动态变化。我想知道如何使用项目名称

添加-01

3 个答案:

答案 0 :(得分:0)

我不确定我是否正确理解了你的观点,但我认为你正在寻找类似的东西

constructor(props) {
    super(props);
    this.state = {
      projectname:"projectname"
    };
     this.updateState= this.aba.bind(this)
  }

updateState () {
    this.setState({
      projectname : this.state.projectname.concat("-01")
    })
  }

答案 1 :(得分:0)

您可以使用setState方法来更改状态,如下所示:

this.setState({
  projectname : "new Project name"
})

答案 2 :(得分:0)

您需要使用this.setState()来更改组件的状态。

使用onPress组件的Button处理程序来完成此操作的常用方法:

  • 创建使用this.setState
  • 的类方法
  • 将此类方法绑定到类构造函数中
  • 将方法传递给onPress的{​​{1}}道具

这是一个例子

Button

现在,如果您要明确地向import React from "react"; import { View, Button } from "react-native"; class MyComponent extends React.Component { constructor(props) { super(props); this.state = { projectname: "Project", // Inital value in your example }; // Binding the method that will handle the click. this.onClickHandler = this.onClickHandler.bind(this); } // The actual method that will alter the state. onClickHandler() { this.setState({ projectname: "Project-01", }); } render() { return() ( <View> {/* A button with the method passed to onPress. */} <Button title="Click me" onPress={this.onClickHandler} /> </View> ); } } 添加“ -01”,则在更改状态时需要引用projectname的当前值:< / p>

projectname

但是您必须小心,因为多次单击将多次添加“ -01”(例如,单击4次将导致“ Project-01-01-01-01”)。