反应本机按钮单击呈现不同的组件

克里斯纳

我正在为我的应用程序使用Expo React native。我创建了三个按钮。当用户单击按钮时,它将获取数据并将其呈现在一个屏幕中。每个按钮将获取不同的API。在按钮下方将有一个平面列表,它将在其中显示数据。我可以通过单击一个按钮来显示数据,但无法确定如何显示其他按钮api。我在codesandbox中共享我的代码ps: Below code make this app get super slow

这是我的代码

import React from 'react';
import { Text, View, ScrollView } from 'react-native';
import styled from 'styled-components';
import PressableButton from './Button';
import axios from 'axios';
const api = "https://jsonplaceholder.typicode.com/users";
const anApi = "https://jsonplaceholder.typicode.com/photos"

const Data = ({ data }) => {

  return (
    <View style={{ flex: 1 }}>
      <Text>{JSON.stringify(data, null, 4)}</Text>
    </View>
  )
}
const AnData = ({ andata }) => {
  return (
    <View style={{ flex: 1 }}>
      <Text>{JSON.stringify(andata, null, 1)}</Text>
    </View>
  )
}

export default function App() {
  const [data, setData] = React.useState([]);
  const [anotherdata, setanotherData] = React.useState([]);


  const updateState = async () => {
    await axios(api)
      .then((res) => {
        setData(res.data);
      })
      .catch((err) => {
        console.log("failed to catch", err);
      });
  };

  const anoThereState = async () => {
    await axios(anApi)
      .then((res) => {
        setanotherData(res);
      })
      .catch((err) => {
        console.log("failed to catch", err);
      });
  };

  return (
    <React.Fragment>
      <Container>
        <PressableButton onPress={updateState} title='First button' bgColor='#4267B2' />
        <PressableButton onPress={anoThereState} title='Second button' bgColor='lightblue' />
        <PressableButton onPress={() => true} title='Third button' bgColor='#4267B2' />
      </Container>
      <Scroll>
        {data && data === undefined ? <Text>loading</Text> : <Data data={data} />}
        {anotherdata && anotherdata === undefined ? <Text>loading</Text> : <AnData andata={anotherdata} />}
      </Scroll>
    </React.Fragment>
  );
}

const Container = styled.View`

 flex-direction: row;
 justify-content: center;
 padding: 70px 0px 20px 0px;
`;

const Scroll = styled.ScrollView`
flex: 1;
`
阿舒托什·杜比

在按钮下方将有一个平面列表

您没有使用FlatList,仅以文本形式显示响应,并且第二个按钮的数据非常庞大,这就是它超级慢的原因。

是我所做的更改,请检查这是否是您想要的?

另外,如果您希望一次显示一个数据,则可以使用选项卡,也可以根据选择显示/隐藏数据,就像我在代码中所做的一样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击不同按钮时呈现不同的 PartialViews

来自分类Dev

单击按钮时未呈现组件 - ReactJS

来自分类Dev

反应:单击按钮后重新渲染组件

来自分类Dev

为什么反应本机不提供按钮组件?

来自分类Dev

反应由不同组件打开的本机关闭模态

来自分类Dev

根据按钮单击反应js渲染differnet组件

来自分类Dev

从子组件反应本机导航

来自分类Dev

基本反应组件未呈现

来自分类Dev

为活动按钮反应不同颜色的本机自定义单选按钮

来自分类Dev

反应本机多按钮选择

来自分类Dev

反应本机导航器视图不呈现

来自分类Dev

返回函数未呈现-反应本机

来自分类Dev

反应本机导航器视图不呈现

来自分类Dev

反应本机按钮单击移动到另一个屏幕

来自分类Dev

一旦在本机反应中单击提交按钮,即可清除文本输入数据

来自分类Dev

反应本机导航-另一个组件上的按钮

来自分类Dev

单击时呈现组件的问题

来自分类Dev

在使用功能组件进行反应时单击按钮时如何隐藏按钮

来自分类Dev

动态页面不会更改呈现的组件,但是单击“后退”按钮(使用链接)时,URL会更改

来自分类Dev

单击按钮后,模态主体不会在 html 中呈现组件

来自分类Dev

单击时渲染反应组件

来自分类Dev

反应本机元素句柄ListItem单击

来自分类Dev

在XCode中反应本机调试iOS组件

来自分类Dev

在导入js中反应本机调用组件

来自分类Dev

基于TextInput onfocus反应本机渲染组件

来自分类Dev

反应本机组件无法正常工作

来自分类Dev

使用行数反应本机文本组件

来自分类Dev

本机反应:如何收听组件位置?

来自分类Dev

单击按钮重定向到上一个组件(反应路由)

Related 相关文章

热门标签

归档