-
Notifications
You must be signed in to change notification settings - Fork 162
Open
Description
Feature Request
LinkContainer should handle null or undefined locations by rendering the child component without modifications.
Why?
Imagine we have an array of model objects and want to render them as a table or list. However, sometimes only some of them have links associated. We'd like to do something like:
<ListGroup>
{steps.map((step) => {
const shouldShowLink = !!step.link;
return (
<LinkContainer
to={step.link}
key={step.name}
>
<ListGroup.Item
action={shouldShowLink}
variant={step.completed ? "success" : null}
disabled={step.disabled}
props
>
{step.title}
</ListGroup.Item>
</LinkContainer>
);
})}
</ListGroup>In this case, when step.link is missing, we'd still like to render the ListGroup.Item component. However, LinkContainer complains that location is null and/or undefined, depending on what's passed in.
Possible Implementation
Haven't tested this, but I think it might be as simple as:
// …snip…
} = this.props;
+
+ if (!to) {
+ return React.Children.only(children);
+ }
+
const href = history.createHref(
typeof to === 'string' ? { pathname: to } : to
// …snip…Metadata
Metadata
Assignees
Labels
No labels