Reactjs 从无状态组件返回null/";“功能组件”;
我在React 0.14中有一个在React 0.13中工作的无状态功能组件,但现在返回以下错误: 在返回的组件实例上找不到Reactjs 从无状态组件返回null/";“功能组件”;,reactjs,Reactjs,我在React 0.14中有一个在React 0.13中工作的无状态功能组件,但现在返回以下错误: 在返回的组件实例上找不到render方法:您可以 忘记定义渲染,从 无状态组件,或试图呈现类型为 不是React组件的函数 这是我的组件: function ToggleDisplay(props) { //should render a <noscript> per React's implementation if(props.if === false) {
render
方法:您可以
忘记定义渲染
,从
无状态组件,或试图呈现类型为
不是React组件的函数
这是我的组件:
function ToggleDisplay(props) {
//should render a <noscript> per React's implementation
if(props.if === false) {
// return <noscript></noscript>; //do I have to do this manually now?
return null;
}
let style = {};
if(shouldHide(props)) {
style.display = 'none';
}
return (
<span style={style} {...props} />
);
}
功能切换显示(道具){
//应该呈现每个React的实现
if(props.if==false){
//return;//现在是否必须手动执行此操作?
返回null;
}
让style={};
如果(应该隐藏(道具)){
style.display='none';
}
返回(
);
}
我现在必须手动返回
吗?在无状态组件中是否有其他方法返回null 看起来不是,这是Javascript中的技术限制。要支持箭头函数和普通函数作为“组件”,我们需要知道是否可以调用新函数
如果它们是普通函数,只要
它们返回一个元素。然而,这对我来说是行不通的
null/false/string返回值,我们也希望支持这些值。我们
也不能调用新的on arrow函数。同样,我们也不能打电话
新课程
从React 15.0开始,您可以从无状态功能组件返回
null
。(见附件)。不再需要返回
为什么不在父级渲染呢?还有@DominicTobias,我认为这应该是一个可以接受的答案。首先防止组件被渲染。错误消息真的是误导,为我解决了。。。使用了两种版本的React