【发布时间】:2018-10-07 08:06:34
【问题描述】:
我正在使用 react 故事书,想知道如何为组件设置默认道具?
我的应用程序中的组件是一个轨道并获取数据 - 一个图像。这是使用 {this.props.children} 设置的。
在我的 rail 组件中,我想设置默认道具,以便在数据获取失败时仍然呈现项目。
这是我的组件 - 向下滚动底部以设置 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 道具的外观。
【问题讨论】:
标签: javascript reactjs react-props