我试图在父组件中显示子组件的状态,但不知何故,文本“abcde”仍然没有显示,这是示例代码
import React from 'react';
import {SafeAreaView, StyleSheet, Text} from 'react-native';
import {TouchableOpacity} from 'react-native-ui-lib';
class ChidComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
text: '',
};
}
render() {
return (
<SafeAreaView>
<TouchableOpacity
onPress={() => {
this.setState({text: 'abcde'});
this.props.getText(this.state.text);
}}>
<Text>Get Text</Text>
</TouchableOpacity>
</SafeAreaView>
);
}
}
const style = StyleSheet.create({
text: {
fontWeight: 'bold',
fontSize: 40,
},
});
class ParentComponent extends React.Component {
constructor(props) {
super(props);
this.state = {
text: '',
};
}
getTextFromChild(value) {
this.setState({text: value});
}
render() {
return (
<SafeAreaView>
<Text>{this.state.text}</Text>
<ChidComponent
getText={this.getTextFromChild.bind(this)}
press={() => this.setState({show: !this.state.show})}
textStyle={style.text}
/>
</SafeAreaView>
);
}
}
export default ParentComponent;
但不知怎么的,屏幕仍然是空的,“abcde”直到我点击两次,来自功能组件,所以我不知道发生了什么,请帮助,非常感谢
您的ParentComponent
中的getTextFromChild
方法正在从状态中删除show
属性,请将其更新为:
getTextFromChild(value) {
this.setState({text: value, show: true });
}
编辑:setState
是异步的,您可以通过回调函数作为参数来访问更新的状态。
<TouchableOpacity
onPress={() => {
this.setState({text: 'abcde'}, () => {
this.props.getText(this.state.text);
});
}}>
应该有用。
问题内容: 假设我的父组件有两个子组件: 我从Child2获得输入,并将其传递给Parent组件(直到现在,我知道该怎么做)。但是然后我需要将该输入传递给Child1以更新其状态。 我怎样才能做到这一点? 问题答案: 希望您能得到主要想法-在Parent组件中创建一个函数,该函数将更改传递给Child1的值。ReactJS:为什么将组件的初始状态传递为prop是反模式?
index.js Button.js 我的问题是“如何从Button.js到index.js获取标志值”?(儿童对父母)。
问题内容: 我有一个带有分层数据的表,其结构如下所示: 如果我传递节点ID,则希望通过在SQL中遍历其所有父节点来获得最高的节点ID /细节。 我尝试过CTE,但我无法以某种方式获得正确的组合。但是,我将此功能用作函数,但是它太慢了,以至于我不得不发布这个问题。 在上面的示例中,如果我通过6,则我想拥有最高的即1。通过遍历6 => 5 => 3 => 2 => [1](结果) 在此先感谢您的帮助。
我正在将父组件的状态从父组件传递到子组件。在子组件中,我有一个不同的状态。我正在对子组件的状态执行一些操作,并且结果必须添加到父组件的状态。因此,在我的父组件中,我编写了一个回调函数,该函数将更新父组件的状态。代码为: 因此,这个函数随后作为道具传递给子组件: 然后在我的子组件中,我试图实现回调函数为: 但这并没有达到预期效果。这是正确的方法吗?有人能帮我吗? 我试图通过实现这里提供的解决方案来解
我需要使用父组件中子组件内部的状态值。 组成部分: 这是父组件:
问题内容: 我本质上是在尝试做出回应,但是有一些问题。 这是档案 当你点击按钮A,在RadioGroup中组件需要去选择按钮B 。 “选定”仅表示来自状态或属性的className 这里是: 的来源并不重要,它具有触发原始DOM 事件的常规HTML单选按钮 预期流量为: 点击按钮“ A” 按钮“ A”触发本地DOM事件onChange,该事件一直持续到RadioGroup 调用RadioGroup