如果发现自己不断射击道具的方法:
const Menu = (props) => <div style={styles.container}
onClick={(ev) => props.menuClick(ev, props.item)}>...</div>
但这些方法有时是可选的。如果方法存在,我该如何触发该方法呢?
这似乎不可读:
const Menu = (props) => <div style={styles.container}
onClick={(ev) => props.menuClick ? props.menuClick(props.item_id, ev) : ()=>{} }>
也许有一些propType遇到默认值的东西可以把所有未填充的传入方法转为void匿名函数吗?
更新
对于没有参数的方法,如评论部分所述,即使没有给出,这也是有效的:
const Menu = (props) => <div style={styles.container}
onClick={props.menuClick}>...</div>
作为ReactJS除了onClick = {null}
答案 0 :(得分:1)
您可以使用包含默认空函数的默认道具,通过ES6类定义您的函数:
class Menu extends Component {
static defaultProps = {
onClick: () => {}
}
render() {
return(<div style={styles.container} onClick={this.props.onClick}></div>);
}
}