React-Native更新来自不同文件的Listview数据源

时间:2018-04-24 17:24:29

标签: listview react-native datasource

我的A类中有一个listview,它的呈现方式如下:

<ListView
    style = {Styles.itemList}
    dataSource = {this.state.dataSource}
    renderRow = {(data) => <MyItem {...data} />}
/>

我将我的项目分隔到另一个文件,因为列表项目非常复杂,如下所示:

const MyItem = (props) => {
    return (
        <View style={Styles.container}>
            ....
            <Text>{props.firstElement}</Text>
            ....
        </View>
    );
}

我在MyItem组件中有一个TouchableHighlight(Button)组件,一旦按下,我就必须更改listview的数据源(在我的A类中),如何从MyItem触发或调用此数据源的setState (属于不同的班级)。

有什么解决方案吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用回调函数,只需将您在A类上创建的函数传递给renderRow = {(data) => <MyItem callback={this.MyChangeList} {...data} />}。 你可以使用this.props.callback()在你的MyItem类中调用它。