Skip to content

What's the reason that a stateless function cannot return null? #5355

Closed
@hnordt

Description

@hnordt

When I return null from a stateless function I receive an error message. I would like to know what's the reason that a stateless function cannot return null.

Here is my sample code:

const MeetingMembers = ({ members, isLoading, error }) => {
  if (isLoading) {
    return <i className="fa fa-spinner fa-spin" />;
  }
  if (error) {
    return <div className="alert alert-danger">{error}</div>;
  }
  if (!members) {
    return null; // if no members was passed the component should'nt be displayed yet
  }
  return <pre>{JSON.stringify(members, null, 2)}</pre>;
};

Thank you.

Activity

gaearon

gaearon commented on Nov 1, 2015

@gaearon
Collaborator

I think this is on the table for 0.15 (#4600):

Remove Support for Inheritless Classes - Enables null return values in plain functions

hnordt

hnordt commented on Nov 1, 2015

@hnordt
ContributorAuthor

Awesome. For now I'll return <span />.

Thanks.

syranide

syranide commented on Nov 2, 2015

@syranide
Contributor

@hnordt <noscript /> is what React currently uses when you return null.

sophiebits

sophiebits commented on Nov 3, 2015

@sophiebits
Collaborator

Yeah, this is currently a limitation because React constructs every class (new MeetingMembers()) and if you return a non-object then you'll get the instance of the class back instead of null. We added the requirement that every class extend from React.Component to solve this issue, but 0.14 only deprecates the old behavior and doesn't change it outright. 0.15 will solve this.

Not sure if we have another tracking issue though so we can use this one.

added this to the 0.15 milestone on Nov 9, 2015
andrevinsky

andrevinsky commented on Nov 27, 2015

@andrevinsky

👍

jimfb

jimfb commented on Jan 29, 2016

@jimfb
Contributor

Fixed in #5884

5 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @sophiebits@gaearon@andrevinsky@hnordt@syranide

        Issue actions

          What's the reason that a stateless function cannot return null? · Issue #5355 · facebook/react