是否可以在React Native中使用defaultProps?我尝试了以下两种定义defaultProps的方法,但在尝试访问defaultProp时得到null
export default class Foo extends Component {
// 1. define defaultProps within Class
static defaultProps = {
someData: 'Hello',
}
constructor(props) {
super(props);
}
componentDidMount() {
console.log(this.props.someData);
}
render() {
return (
<View> {this.props.someData} </View>
)
}
}
// 2. define defaultProps outside Class
Foo.defaultProps = { someData: 'Hello' }
4条答案
按热度按时间4dc9hkyq1#
我总是这样做,效果很好:
zu0ti5jz2#
我在ReactNative中这样做
然后你可以使用这些 prop ,比如
this.props.prop1
和this.props.prop2
。a64a0gku3#
我是这样用的,试试这个!
vom3gejh4#
你想要这个:
这表示
someData
应该是字符串,但不是必需的。然后在
render()
中,您可以执行以下操作:这将使用
this.props.someData
(如果提供)或Foo.defaultProps.someData
(如果没有提供)。我还认为您需要将
{this.props.someData || Foo.defaultProps.someData}
Package 在Text
元素中(即<Text>{this.props.someData || Foo.defaultProps.someData}</Text>
)。