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