javascript - 如何在本机反应中将数据从一个组件传递到另一个组件
问题描述
我有一个主要组件,我在其中导入了一个组件,所以我想将一些数据从该导入组件传递到主要组件并显示它。这是一个示例代码:这是我的主文件:
import React from "react";
import { View, Text, StyleSheet, TouchableOpacity, Image } from "react-native";
import TestComponent from "../components/TestComponent";
function TestScreen(props) {
return (
<View>
<TestComponent />
<Text>{location}</Text>
</View>
);
}
export default TestScreen;
这是导入的组件:
import React from "react";
import { View, Text, StyleSheet, TouchableOpacity, Image } from "react-native";
function TestComponent(props) {
const [location, setLocation] = useState("");
return (
<View>
<Text>Boiler</Text>
<TouchableOpacity>
<Text onPress={() => setLocation("Me")}>Click</Text>
</TouchableOpacity>
</View>
);
}
export default TestComponent;
现在我想从组件中获取location
钩子并将其用于组件,我该怎么做TestComponent
TestScreen
解决方案
您应该将状态提升到父组件
function TestScreen(props) {
const [location, setLocation] = useState("");
return (
<View>
<TestComponent setLocation={setLocation} location={location}/>
<Text>{location}</Text>
</View>
);
}
function TestComponent({ location, setLocation }) {
return (
<View>
<Text>Boiler</Text>
<TouchableOpacity>
<Text onPress={() => setLocation("Me")}>Click</Text>
</TouchableOpacity>
</View>
);
}
现在您可以访问location
父级
推荐阅读
- clojure - 结合'let'和'letfn'
- apache-spark - 如何对pyspark中的数据帧进行算术运算?
- javascript - React Context - 如何检测哪个组件正在调用上下文?
- excel - 将 VBA 与表一起使用
- python - 在 excel 中正确显示 .csv
- google-cloud-platform - 如何在 Cloud Build 中运行 beta gcloud 组件,例如“gcloud beta artifacts docker images scan”?
- delphi - 在德尔福等待两个事件的最佳方式
- ruby-on-rails - 在 Rails 应用程序中在哪里设置条带 API 密钥?
- powershell - 将 CSV 中的文件路径修剪为存储在变量中的某个路径/文件名
- twilio - twilio 中聚集语音中的多种口音语言