react-native - 如何在 React Native 中将矢量从类组件传递到另一个组件?
问题描述
我正在尝试将 ClassComponent 类中的 letterVec 传递给 TextComponent 类,以便我可以在那里显示它。下面是 ClassComponent 类的代码:
import React, {Component} from 'react';
import {View, Text, StyleSheet, Button, FlatList} from 'react-native';
class ClassComponent extends Component {
constructor(props) {
super(props);
this.state = {
letterVec: ['B'],
};
}
render() {
return (
<View>
<Button
title={'Add A'}
onPress={() => {
this.setState(
(this.state.letterVec = [...this.state.letterVec, 'A']),
);
}}
/>
<FlatList
keyExtractor={(item, index) => index.toString()}
data={this.state.letterVec}
renderItem={({item}) => {
return <Text>{item}</Text>;
}}
/>
</View>
);
}
}
const styles = StyleSheet.create({});
export default ClassComponent;
这是 TextComponent 代码:
import React from 'react';
import {View, Text, StyleSheet} from 'react-native';
import ClassComponent from './ClassComponent';
const TextComponent = () => {
const classC = new ClassComponent();
return (
<View>
<Text>Text Component, {classC.state.letterVec}</Text>
</View>
);
};
const styles = StyleSheet.create({});
export default TextComponent;
我已经能够让 TextComponent 显示 letterVec,但是当我在 ClassComponent 屏幕上更新它时,它没有在 TextComponent 屏幕中更新。如何显示最新版本?
解决方案
This isn't the right way to get values.
Try Passing letterVec as prop to TextComponent
Like <TextComponent letterVec={this.state.letterVec}/>
and then use it like this
const TextComponent = (props) => {
return (
<View>
<Text>Text Component, {props.letterVec}</Text>
</View>);
}
推荐阅读
- git - 如何在 git repo 中缩进我的代码并在没有历史记录的情况下提交和合并?
- android - 如何为 build.gradle 增值?
- azure - 用户无法访问 Azure b2c 租户
- python - Plotly 的 Scatterpolar:如何更改 theta 的范围?
- delphi - 嵌套块中声明的内联变量的范围和生命周期,范围是否也适用于对象?
- excel - vba 脚本的替代公式
- arrays - Powershell通过开始和结束字符将字符串拆分为数组
- powerbi - 在 Power BI 中按 DESC 顺序对日期筛选器进行排序
- vue.js - Vue中对象的嵌套for循环
- docker - Dockerfile FROM AS 抛出无效的参考格式