sách gpt4 ai đã đi

reactjs - 基于变量的渲染组件 - ReactJS

In lại 作者:行者123 更新时间:2023-12-03 14:28:24 31 4
mua khóa gpt4 Nike

我想问,是否可以基于变量返回一个组件,我的想法是否可以:

var location = this.props.location // Eg. Asia,Australia

我的问题是我需要单独手动导入所有组件。

这是我的其他脚本:

import AsiaHeaderComponent from "components/AsiaHeaderComponent.jsx";
import AustraliaHeaderComponent from "components/AustraliaHeaderComponent.jsx";

class Home extends React.Component {
renderHeader(){
if(this.props.location == "Asia"){
trở lại (

);
}
else if(this.props.location == "Australia"){
trở lại (

);
}
}
render(){
trở lại (
{ this.renderHeader() }
)
}
}

与上面相同,我需要手动导入所有将放入 if else 条件中的 header 。

有没有办法有效地做到这一点?

1 Câu trả lời

有两件事。您首先应该只有一个 header ,并向其传递渲染所需的数据。我假设各个大陆的标题可能不会有太大不同。其次..据说动态获取组件的一种方法是使用像这样的哈希表

const headerLookup = {
asia: AsiaHeaderComponent,
australia: AustraliaHeaderComponent
.... more here
}

然后是你的代码

render() {
const Header = headerLookup[this.props.location.toLowerCase()]

trở lại (

);
}

理论上,您应该能够获取 header 中的所有组件/元素,并使它们可以基于类型进行扩展。该类型是大陆名称。如果您想要一个更好或更完整的示例,那么了解当前 header 组件中的内容将会有很大帮助,这样我就可以看到它们之间的共性:)

关于reactjs - 基于变量的渲染组件 - ReactJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42363698/

31 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com