Reactjs 将值发送到React Native中的函数
我正在尝试将TextInput的值发送到console.log中的另一个类函数。我的方法是当按下按钮时,TextInput中str的值将被传递到另一个类函数中。这是我的密码Reactjs 将值发送到React Native中的函数,reactjs,react-native,Reactjs,React Native,我正在尝试将TextInput的值发送到console.log中的另一个类函数。我的方法是当按下按钮时,TextInput中str的值将被传递到另一个类函数中。这是我的密码 import React, { Component } from "react"; import { StyleSheet, Text, View, TextInput, Button } from "react-native"; import receiveMessage from "./receiveMessage"
import React, { Component } from "react";
import { StyleSheet, Text, View, TextInput, Button } from "react-native";
import receiveMessage from "./receiveMessage"
export default class WeatherProject extends Component{
constructor (props) {
super(props);
this.state={
From:'',
FromStr:'',
}
}
changeText=(From)=>{
this.setState({From})
}
changeText1=(To)=>{
this.setState({To})
}
onPress = ()=>{
this.setState({FromStr: this.state.From})
receiveMessage.receiveMessage();
}
render(){
return (
<View>
<View style={styles.inputFields}>
<TextInput placeholder="From" id="from" style={styles.fromField} onChangeText={this.changeText} />
<View style={styles.buttonStyle}>
<Button
title={"Go Back"}
color="#f194ff"
onPress={this.onPress}
></Button>
</View>
</View>
</View>
);
}
}
receiveMessage.js
import React, { Component } from "react";
export default class receiveMessage extends Component {
static receiveMessage=()=>{
console.log(this.state.FromStr)
}
}
import React,{Component}来自“React”;
从“react native”导入{样式表、文本、视图、文本输入、按钮};
从“/receiveMessage”导入receiveMessage
导出默认类WeatherProject扩展组件{
建造师(道具){
超级(道具);
这个州={
从:“”,
FromStr:“”,
}
}
changeText=(From)=>{
this.setState({From})
}
changeText1=(到)=>{
this.setState({To})
}
onPress=()=>{
this.setState({FromStr:this.state.From})
receiveMessage.receiveMessage();
}
render(){
返回(
);
}
}
receiveMessage.js
从“React”导入React,{Component};
导出默认类receiveMessage扩展组件{
静态接收消息=()=>{
console.log(this.state.FromStr)
}
}
React不允许以这种方式在React组件之间传递数据
以下是React中组件之间传递数据的方法。要了解更多信息,请
import React,{Component}来自'React';
类WeatherProject扩展组件{
render(){
const messageToPassed='Hello';
返回(
);
}
}
const ReceiveMessage=props=>{props.message};
导出默认应用程序;
这里我们通过引发一个事件来传递sidemenu组件的值
App.js
类应用程序扩展了React.Component{
handleSubmit=(e,data)=>console.log(`my data from props`,data);
render(){
返回(
this.handleSubmit(e,data)}/>
);
}
}
SideMenu.js
const Sidemenu = props => {
const { onSubmit} = props;
return (
<button onClick={(e, type)=>this.onSubmit(e, 'mydata')} />
);
}
const Sidemenu=props=>{
const{onSubmit}=props;
返回(
this.onSubmit(e,'mydata')}/>
);
}
receiveMessage
不是有效的react组件名称,应使用PASCALCASE。WeatherProject
和ReceiveMessage
之间的关系是什么?父母和孩子?兄弟姐妹?在react中,数据通常沿一个方向流动,从父级向下流向子级。回调允许数据向上传递到树中。如果您在React Native中工作,请尝试使用props
将数据传递到另一个组件。在这里查看很棒的教程:@RaviSingh我无法将其与我的代码进行比较。你能帮我解决这个问题吗
const Sidemenu = props => {
const { onSubmit} = props;
return (
<button onClick={(e, type)=>this.onSubmit(e, 'mydata')} />
);
}