React Native - 如何使用文本输入更改js文件中的数据

时间:2017-06-07 19:19:48

标签: react-native

我的Android应用程序正在从js文件中加载字符串数据,如下所示:

module.exports = {
DATA: {
  firstdata: 'data',
  seconddata: 'data2'},
};

我想要做的是使用

输入文本来更改此文件的内容
 onChangeText={(text) => data.DATA.firstdata.setState({text})}

但它告诉我“未定义不是一个功能”。

这是我第一次尝试使用文本输入。任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

似乎你正试图实现不同的概念。您正在尝试使用setState函数更改js文件,该函数是通过响应更改本地组件状态中的数据而提供的。因此,在您的情况下,data.DATA.firstdata应该只是一个字符串,不知道什么是setState函数。但是,根据错误,您似乎甚至没有导入此DATA变量。

您可以做的是在安装组件时将此数据设置为本地状态,然后使用setState函数改变此本地状态。

...
import { DATA } from './path/to/the/file'

class MyComponent extends Component {
    constructor(props) {
        super(props)
        this.state = {
            firstdata: DATA.firstdata,
            seconddata: DATA.seconddata,
        };
    }
    render() {
        return (
            ...

           <TextInput onChangeText={(text) => this.setState({firstdata: text})}>
        )
    }
}