小编t.c*_*t.c的帖子

如果父组件发生变化,防止子组件卸载和重新安装

问题:

在下面的代码中,当Toggle ParentA/B单击按钮时,<Child />组件将被卸载并再次重新安装,但实际上只有Parent组件发生了变化。

Child在这种情况下如何防止卸载和重新安装?

import React, { useState } from "react"

const App = () => {
    const [a, setA] = useState(true)
    return (
        <div>
            <button onClick={() => setA(!a)}>Toggle ParentA/B</button>
            {a ? <ParentA><Child /></ParentA> : <ParentB><Child /></ParentB>}
        </div>
    )
}
const ParentA = ({ children }) => <div>parentA{children}</div>
const ParentB = ({ children }) => <div>parentB{children}</div>

class Child extends React.Component {
    componentDidMount() {
        console.log('child did mount')
    }

    componentWillUnmount() {
        console.log('child will unmount') …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

12
推荐指数
3
解决办法
1221
查看次数

默认导出多个导入模块

如何默认导出多个导入的模块?

我可以执行类似下面代码的操作,但如果我要导入多个文件,样板文件可能会快速增长。有没有一种速记方法可以实现这一目标?

import Foo from './Foo'
import Bar from './Bar'
//...

export default {
    Foo,
    Bar
    //...
}
Run Code Online (Sandbox Code Playgroud)

请注意,在上面的代码中,我没有导出多个值。我正在导入多个值,累积它们,然后将它们导出为单个对象。我打算通过Baz.Fooor引用重新导出的值Baz.Bar,假设上面的代码是Baz.js。

javascript

5
推荐指数
1
解决办法
1908
查看次数

AWS EC2 - 我可以使用公共 DNS 主机名完成哪些我无法使用公共 IPv4 地址的任务?

传统上,DNS 服务器的目的是将人性化的主机名转换为 IP 地址。更重要的是,它允许更新服务在网络上的位置(IP 地址),同时保留相同的主机名。

然而,在 EC2 中,公共 DNS 主机名链接到其公共 IP 地址。例如,如果实例的 IP 地址为1.2.3.4,则其 DNS 名称将为ec2-1-2-3-4.compute-1.amazonaws.com。

由于 DNS 名称在语法上与其 IP 相关联,因此它不会用作令人难忘的 URL,也不允许 IP 独立于其 DNS 名称进行更改。

AWS 提供 DNS 名称的原因可能是什么?DNS 名称在 EC2 上下文中有何用途?我可以使用公共 DNS 主机名完成哪些我无法使用公共 IPv4 地址的任务?

dns amazon-ec2 amazon-web-services

4
推荐指数
1
解决办法
116
查看次数