翻阅了react-native的官方文档和其他一些媒体资源和博客,才知道react-native中有UI线程和JavaScript线程。Javascript 线程是运行 javascript 代码的逻辑线程,进行 API 调用,处理触摸事件等等。并且 UI Thread 更新 UI。 如果 JavaScript 线程正在处理该过程,并且如果我们再次执行按钮操作或任何其他触摸事件,则需要一些时间来响应,在完成一个过程后仅 UI 更新,直到我觉得它滞后或卡在某处。
例如
有一个底部选项卡导航器,它有四个选项卡,第一个选项卡中有一个列表视图,第二个选项卡中显示多个点之间的路线的地图视图
我在第一个选项卡中执行了一些按钮操作(单击列表视图中的按钮)并立即导航到第二个选项卡,感觉更新用户界面有些滞后,或者从第一个选项卡开始导航需要一些时间(1-3 秒)标签到第二个标签
在第二个选项卡中,如果我导航到任何其他选项卡,则在此过程进行时,地图需要时间(5-10 秒)来获取多个点之间的路线,选项卡之间的导航不流畅并且存在大量 UI 延迟。
我们如何让 react-native 应用更快地响应可触摸操作并减少 UI 延迟
有没有多线程和后台线程的概念,我们可以在主线程中运行特定的逻辑并更新 UI 以使本机应用程序响应更快而没有任何延迟。
我使用的是react-native版本0.61.5。我想在反应本机中创建一个带有可折叠标题的部分列表,如下图所示。
这是我的 API 数据格式
data:[
{
shift_name:'Day',
data:[
{
id:'1',
fullname: "seela",
inspection_date: "2020-06-10T04:45:32Z",
issues: 1,
response:{
shift_name:'Day'
}
}
]
},
{
shift_name:'Afternoon',
data:[
{
id:'2',
fullname: "Raju vijayan",
inspection_date: "2020-06-9T04:45:32Z",
issues: 3,
response:{
shift_name:'Afternoon'
}
},
{
id:'3',
fullname: "Pratap P",
inspection_date: "2020-06-8T04:45:32Z",
issues: 2,
response:{
shift_name:'Afternoon'
}
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
当我单击标题内容时应该展开和折叠。我怎样才能在react-native中做到这一点?
react-native react-native-sectionlist react-native-collapsible