我一直在遵循this document中的说明,并尝试了本网站上其他问题的一些答案,但没有一个在页面上打印 prop 。不确定是我的调用错误,还是没有正确传递数据。已发布我的父母,并分别尝试了3次让孩子工作。页面上没有显示任何内容。我已将子组件导入到父页面中,和子页面中的{ component }。
父母:
const ToyDetails = () => {
const [data, setData] = useState('');
const parentToChild = () => {
setData(name)
}
return (
<View>
<CardCard parentToChild={data}
<TouchableOpacity onPress={()=>parentToChild()}
<Text>{buttonText}</Text>
</View>
)
}
子项(CartCard.js)尝试1:在父页上打印数据
export default class CartCard extends Component {
render() {
const { data } = this.props;
return (
<View>
<Text>{data}</Text>
</View>
)
}
}
子尝试2:两页都不打印任何内容
export default class CartCard extends Component {
render() {
const { data } = this.props;
return (
<View>
<Text>{this.props.parentToChild}</Text>
</View>
)
}
}
子尝试3:在父页上打印数据
const CartCard = ({parentToChild}) => {
return (
<View>
<View>
<Text>{parentToChild}</Text>
</View>
</View>
)
}
export default CartCard
2条答案
按热度按时间mccptt671#
将useState添加到
buttonText
jchrr9hc2#
下面是一个例子,说明如何根据代码https://snack.expo.dev/peRi9sELk将数据作为 prop 传递给子组件。很难说出哪里出了问题,但是为了看到组件中反映的变化,你必须重新呈现组件树。最简单的方法是改变状态。