Antd如何使用一种onLoad或componentDidMount函数?

SilkeNL

我正在使用AntDesign,并且想要使用onLoad或componentDidMount函数。两者都不起作用。

如何实现具有相同目的的功能?

//我尝试过的东西对我没有用。(我可能做错了。)

return (
        <div onLoad={() => {console.log('Toeter!')}}>
            //Blah blah
        </div>
    )
window.onload = () => {
//Blah blah
}
componentDidMount = () => {
//Blah blah
}

我要做的是在组件出现在屏幕上时触发一个功能。该功能应该在一系列对象中找到产品。

编辑:评论中要求的完整组件

import * as React from "react";
import {Row, Col, Image, Card, Space, Breadcrumb, Descriptions, InputNumber, Button} from 'antd';

import * as FreddieGras from "../images/freddieGras.jpg";
import "react-multi-carousel/lib/styles.css";
import {RouterProps} from "./router.props";
import {Link} from "@reach/router"

interface ProductDetailProps extends RouterProps {
    id?: string;
}


export default function ProductDetail(props: ProductDetailProps) {
    // Different kinds of grass
    let grassKinds = [
        {
            name: 'Kate',
            id: 1,
            imageName: FreddieGras,
            desc: "Lorem Ipsum dolor sit amet.",
            available: true,
            softness: 7,
            realness: 6,
            price: 17.95
        },
        {
            name: 'Fred',
            id: 2,
            imageName: FreddieGras,
            desc: "Lorem Ipsum dolor sit amet.",
            available: false,
            softness: 7,
            realness: 6,
            price: 17.95
        },
        {
            name: 'Gideon',
            id: 3,
            imageName: FreddieGras,
            desc: "Lorem Ipsum dolor sit amet.",
            available: true,
            softness: 7,
            realness: 6,
            price: 17.95
        },
        {
            name: 'Isa',
            id: 4,
            imageName: FreddieGras,
            desc: "Lorem Ipsum dolor sit amet.",
            available: true,
            softness: 7,
            realness: 6,
            price: 17.95
        },
    ];

    let product = {};
    window.onload = () => {
        product = grassKinds.find(x => x.id);
        console.log('Toeter!');
    }

    return (
        <div onLoad={() => {
            console.log('Toeter!')
        }}>


            <Breadcrumb>
                <Breadcrumb.Item>
                    <Link to="/">Home</Link>
                </Breadcrumb.Item>
                <Breadcrumb.Item>

                </Breadcrumb.Item>
            </Breadcrumb>

            <Row>
                <Col span={10} justify={'space-around'} align={'center'}>
                    <Image
                        src={FreddieGras}
                    />
                </Col>

                <Col span={14}>
                    <Descriptions title="User Info" style={{width: '50%'}}>
                        <Descriptions.Item label="Naam">Kate</Descriptions.Item>
                        <Descriptions.Item label="Zachtheid">7/10</Descriptions.Item>
                        <Descriptions.Item label="Echtheid">6/10</Descriptions.Item>
                        <Descriptions.Item label="Prijs /m2">€17,95</Descriptions.Item>
                    </Descriptions>

                    <Card title="Bereken oppervlakte" style={{margin: '5px'}}>
                        <label>Lengte (m)</label>
                        <InputNumber
                            defaultValue={1000}
                            formatter={value => `€ ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}
                            onChange={() => {
                                console.log('Number')
                            }}
                        />

                        <div>
                            <p><b>Omtrek </b> 10 M</p>
                            <p><b>Oppervlakte </b> 2,5 M2</p>
                        </div>
                    </Card>

                    <Card title="Totaalprijs" style={{margin: '5px'}}>
                        <b>€ 17,95</b>
                        <Button onClick={() => {
                            console.log('In winkelwagen')
                        }}>In winkelwagen</Button>
                    </Card>
                </Col>
            </Row>
        </div>
    )
}

德鲁·里斯(Drew Reese)

React组件不使用window.onloadcomponentDidMount仅在基于类的组件中保留并有效。功能组件可以使用useEffect带有空依赖项数组React钩子来等效于componentDidMount生命周期方法。

let product = {};

useEffect(() => {
  product = grassKinds.find(x => x.id);
  console.log('Toeter!');
}, []);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在获取数据时在componentDidMount中使用setInterval()的一种更性能友好的方式

来自分类Dev

如何使用另一种样式中的一种样式的价值?

来自分类Dev

如何使用另一种样式中的一种样式的价值?

来自分类Dev

有没有一种方法可以使用SMT求解器来找出如何组成函数?

来自分类Dev

有没有一种方法可以使用SMT求解器来找出如何组成函数?

来自分类Dev

如何仅使用Sinon模拟一种方法?

来自分类Dev

如何从另一种方法使用数组?

来自分类Dev

如何使用一种功能逐步显示div?

来自分类Dev

如何从另一种方法使用数组?

来自分类Dev

函数是一种变量吗?

来自分类Dev

使用lambda函数定义非常小的助手函数是否是一种好的样式?

来自分类Dev

一种可以使用动态函数交换的函数

来自分类Dev

一种可以使用动态函数交换的函数

来自分类Dev

如何在Java(android)中的另一种方法中使用一种方法的变量

来自分类Dev

如何使用脚本将列从一种数据类型更改为另一种

来自分类Dev

如何使用Bootstrap实现从一种模式到另一种模式的导航?

来自分类Dev

如何使用Angular JS将一种日期格式转换为另一种格式?

来自分类Dev

在一个Java类中使用另一种函数

来自分类Dev

如何使用JAX-B将两种XML合并为一种?

来自分类Dev

如何在打字稿中制作一种类型的函数链(数组)?

来自分类Dev

如何创建一种特殊的列表?

来自分类常见问题

在新的Promise()构造函数中使用async / await是一种反模式吗?

来自分类Dev

对象与函数的组成:我应该使用一种方法接口还是委托?

来自分类Dev

为什么在LKM中使用静态函数是一种惯例

来自分类Dev

有没有一种方法可以使jQuery的.on()函数与promises配合使用?

来自分类Dev

在Scala中使用@BeanProperty而不是定义getter / setter函数是一种好习惯吗?

来自分类Dev

在函数内使用裸括号是否是一种好习惯?

来自分类Dev

有没有一种使用窗口函数来简化此查询的方法?

来自分类Dev

覆盖另一种方法使用的超类回调函数[C ++]

Related 相关文章

  1. 1

    在获取数据时在componentDidMount中使用setInterval()的一种更性能友好的方式

  2. 2

    如何使用另一种样式中的一种样式的价值?

  3. 3

    如何使用另一种样式中的一种样式的价值?

  4. 4

    有没有一种方法可以使用SMT求解器来找出如何组成函数?

  5. 5

    有没有一种方法可以使用SMT求解器来找出如何组成函数?

  6. 6

    如何仅使用Sinon模拟一种方法?

  7. 7

    如何从另一种方法使用数组?

  8. 8

    如何使用一种功能逐步显示div?

  9. 9

    如何从另一种方法使用数组?

  10. 10

    函数是一种变量吗?

  11. 11

    使用lambda函数定义非常小的助手函数是否是一种好的样式?

  12. 12

    一种可以使用动态函数交换的函数

  13. 13

    一种可以使用动态函数交换的函数

  14. 14

    如何在Java(android)中的另一种方法中使用一种方法的变量

  15. 15

    如何使用脚本将列从一种数据类型更改为另一种

  16. 16

    如何使用Bootstrap实现从一种模式到另一种模式的导航?

  17. 17

    如何使用Angular JS将一种日期格式转换为另一种格式?

  18. 18

    在一个Java类中使用另一种函数

  19. 19

    如何使用JAX-B将两种XML合并为一种?

  20. 20

    如何在打字稿中制作一种类型的函数链(数组)?

  21. 21

    如何创建一种特殊的列表?

  22. 22

    在新的Promise()构造函数中使用async / await是一种反模式吗?

  23. 23

    对象与函数的组成:我应该使用一种方法接口还是委托?

  24. 24

    为什么在LKM中使用静态函数是一种惯例

  25. 25

    有没有一种方法可以使jQuery的.on()函数与promises配合使用?

  26. 26

    在Scala中使用@BeanProperty而不是定义getter / setter函数是一种好习惯吗?

  27. 27

    在函数内使用裸括号是否是一种好习惯?

  28. 28

    有没有一种使用窗口函数来简化此查询的方法?

  29. 29

    覆盖另一种方法使用的超类回调函数[C ++]

热门标签

归档