gpt4 book ai didi

javascript - React 在 this.props.children 上设置默认 Props

转载 作者:行者123 更新时间:2023-12-03 02:00:53 26 4
gpt4 key购买 nike

我正在使用 React Storybook,想知道如何为组件设置默认 Prop ?

我的应用程序中的组件是一个轨道并获取数据 - 图像。这是使用 {this.props.children} 设置的。

在我的 Rail 组件中,我想设置默认 Prop ,以便在数据获取失败时项目仍然呈现。

这是我的组件 - 向下滚动底部以设置 defaultProps:

import React, { Component } from 'react';
import './index.css'; // styles from

// import Slider from 'react-slick';
import classNames from 'classnames';

import PrimaryButton from '../PrimaryButton';

export default class HeroRail extends Component{
render() {
const {title, icon, opacity, railActive} = this.props;
const railStyle = {
opacity:opacity
};
const iconStyle = {
background: `center / contain url(${icon}) no-repeat`
};
const cName = classNames('HeroRail', {
railActive:railActive
});

console.log("props", this.props);

return (
<div className={cName} style={railStyle}>
<div className={'rail-details'}>
<div className={'top-details'}>
<div className={'title-lockup'}>
<div className={'icon'} style={iconStyle}></div>
<h3 className={'rail-title'}>{title}</h3>
</div>
<PrimaryButton label={'View All'} light={true}/>
</div>

<div className={'rail-navigation'}>
<PrimaryButton icon='' light={true} />
<PrimaryButton icon='' light={true} />
</div>
</div>

<div className={'rail-items'}>
{this.props.children}
</div>
</div>
);
}
};

HeroRail.defaultProps = {

};

这是获取成功后,children 属性的样子。

enter image description here

最佳答案

您可以使用类名设置默认属性,如下所示。

class Greeting extends React.Component {
render() {
return (
<h1>Hello, {this.props.name}</h1>
);
}
}

// Specifies the default values for props:
Greeting.defaultProps = {
name: 'Stranger'
};

您可以引用这个link from react's documentation了解更多信息。

关于javascript - React 在 this.props.children 上设置默认 Props,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50046115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com