在复选框选择中使用链表 列表反应原生



我在我的 react-native 应用程序中创建了一个链接列表数据结构,我想在屏幕之间移动它,然后根据复选框选择菜单选择一个节点。

我知道我可以使用 react-native-navigation 移动列表,所以现在我想显示带有复选框列表的列表,以选择多个节点并对其执行操作。我看到的问题是复选框列表使用定义的 const 项目数组,然后列出这些项目。

我使用链接列表的全部原因是我需要列表动态更新。(改用大数组可能更有益,但节点中的每个元素都有些大,我不确定大数组会产生什么影响。

有没有办法将链表输入到复选框列表中,或者我必须创建一个数组?

如果他们需要动态更新,我将如何处理这两个选项?

改用大尺寸的数组可能更有益,但节点中的每个元素都有些大,我不确定大数组会产生什么影响。

JavaScript 数组只保存对它们存储的对象的引用,因为它是一种动态脚本语言,支持基于原型的对象构造。因此,每个元素的大小不会影响数组性能

另一种可能性是扩展链接列表数据结构中的内置Array类,以确保兼容性。

你是否使用数组或链接列表的决定应基于你的应用使用最多的列表操作。有很多关于这方面的文章。

有没有办法将链表输入到复选框列表中,或者会 我必须创建一个数组?

如果他们需要动态更新,我将如何处理这两个选项?

有一些git 存储库添加了对您想要实现的支持(这是一个示例,请随时探索 npm 了解更多信息(。

如果您希望项目动态更新,另一种可能性是将它们封装在 React.Component 中进行渲染:

// YourNode.js
import React, { Component } from 'react';
import { CheckBox } from 'react-native';
export default class YourNode extends Component {
constructor(props) {
super(props);
this.state = {
checked: false,
};
}
selectItem = () => {
const { onPress } = this.props;
// Update the state
this.setState({ checked: !this.state.checked });
onPress();
};
render() {
const { node } = this.props;
// You may want to render more things like `Text` or `View` components based on
// the node's content
return (
<CheckBox
value={this.state.checked}
onValueChange={this.selectItem}
/>
);
}
}
import YourNode from './YourNode';
// YourScreen.js
render() {
//...
// This will render a `YourNode` component for each one of your nodes.
{yourList.map((item, index)) => {
return (<YourNode node={item} onPress{() => this.selectedNodes.push(item)}>)
}
}
}

相关内容

  • 没有找到相关文章

最新更新