在react组件中,您可以同时具有以下两个功能。
getInitialProps() {
return fetchProps();
};
getDefaultProps() {
return this.defaultProps;
}
可以在反应生命周期中调用 getDefaultProps 吗?
我想您想在 getInitialProps 中进行一些尝试,只要 fetchProps 失败,它就会捕获 defaultProps :< / p>
getInitialProps() {
try{
return fetchProps();
} catch(error){
return getDefaultProps();
}
};
对我来说似乎很奇怪。
答案 0 :(得分:0)
我知道getInitialProps()用于异步行为,而getDefaultProps()更多地用于为组件设置道具,以便它仍可以在通过道具之前呈现。
所以回答您的问题我不这么认为。呈现后,您将无法调用getDefaultProps()。
这将是使用getInitialProps()的示例
Page.getInitialProps = () => {
return fetch('https://api.github.com/repos/developit/preact')
.then(res => res.json())
}
虽然getDefaultProps()会像这样工作
getDefaultProps: function() {
return {
name: 'Mary'
};