Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Android react native生成本地json文件_Android_Json_React Native - Fatal编程技术网

Android react native生成本地json文件

Android react native生成本地json文件,android,json,react-native,Android,Json,React Native,我想制作一个本地JSON文件,并在那里发布数据。我想用react native制作一个考勤系统。我想使用react native发布数据,数据将通过Flatlist发布。数据将为我保存一个由我创建的JSON文件。 我已经制作了一个JSON文件 [{ "Roll": 1101, "name": "Israt Jerin", "Status": "P" }, { "Roll": 1102, "name": "Rifat Murtuza", "Statu

我想制作一个本地JSON文件,并在那里发布数据。我想用react native制作一个考勤系统。我想使用react native发布数据,数据将通过Flatlist发布。数据将为我保存一个由我创建的JSON文件。 我已经制作了一个JSON文件

[{
    "Roll": 1101,
    "name": "Israt Jerin",
    "Status": "P"
},
{
    "Roll": 1102,
    "name": "Rifat Murtuza",
    "Status": "P"
},
{
    "Roll": 1103,
    "name": "Nabil Kaysar",
    "Status": "P"
}]
在这里,我可以使用此代码访问此文件

 <FlatList
      data={data_local}
      showsVerticalScrollIndicator={false}
      renderItem={({ item }) => (
        <View>
          <Text> {item.name}</Text>
          <Text> {item.Roll}</Text>

          <RadioForm
            radio_props={radio_props}
            initial={0}
            onPress={value => {
              this.setState({ value: value });
            }}
          />
        </View>
      )}
      keyExtractor={(item, index) => index.toString()}
    />
(
{item.name}
{item.Roll}
{
this.setState({value:value});
}}
/>
)}
keyExtractor={(项,索引)=>index.toString()}
/>
这是我的提交按钮

<Button
      title="Submit"
      onPress={() =>
        this.MyPost()
      }
    />

this.MyPost()
}
/>
这里是项目的样子


我的问题是,我想使用这个单选按钮和平面列表插入一个json文件

您可以通过两种方式来管理它

  • 获取状态为的新数组,并相应地在该数组中插入和删除项
    this.setState({myArray:[…this.state.myArray,'new value']})//简单值
    this.setState({myArray:[…this.state.myArray,…[1,2,3]]})//另一个数组

  • 您可以在现有数组中设置“获取选定的<代码>字段”。并在单击单选按钮时更改其值。并在需要发布时收集所有选定字段
  • 我更喜欢第二条路。

    准备最终json的示例

      prepareJson(){
          var json = {};
          json.image = this.state.image;
          var absent = [];
          var present = [];
          this.state.myArray.map(item => {
            if(item.Status == "P") present.push(item);  
            else absent.push(item);
          }
          json.absent = absent;
          json.present = present;
          return json;
      }
    
    以下是更改单选按钮时如何更改状态数组项值

     <FlatList
          data={this.state.data_local} // data should be rendered from state
          ...
          renderItem={({ item }) => (
            <View>
              ...
              <RadioForm
               ...
                onPress={value => {
                  item.Status = value;
                }}
              />
            </View>
          )}
        />
    
    如果您想要更改状态字段,只需调用
    setState()
    like

    this.setState({ array});
    

    你的问题不清楚-我的问题是我想用这个单选按钮和平面列表插入,并插入到json文件中,你完成了吗?评论不用于扩展讨论;这段对话一直在进行中。@khemraj我没有找到任何解决方案,而且我尝试用您的逻辑将数据发布到本地JSON文件中,但您仍然尝试了,但都是徒劳的。我可以使用api而不是本地json文件发布数据。无论如何,谢谢你的逻辑仍然对我有帮助。@RifatMurtuza你的问题太宽泛了,你可以问一些具体的问题,在stackoverflow上,你可以问一些代码问题,但它不是解决方案提供商网站。
    this.setState({ array});