在react原生组件之间传递数据不工作

pb3skfrl  于 2022-12-14  发布在  React
关注(0)|答案(2)|浏览(165)

我一直在遵循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
mccptt67

mccptt671#

将useState添加到buttonText

const ToyDetails = () => {
  const [buttonText, setButtonText] = useState()
jchrr9hc

jchrr9hc2#

下面是一个例子,说明如何根据代码https://snack.expo.dev/peRi9sELk将数据作为 prop 传递给子组件。很难说出哪里出了问题,但是为了看到组件中反映的变化,你必须重新呈现组件树。最简单的方法是改变状态。

相关问题