Skip to content

ResultCard / ResultList: Ignore rendering null objects returned from onData(..) #158

Description

@siddharthlatest

I'm submitting a ...

  • bug report

Current behavior:

When returning a null object in the onData method of ResultCard or ResultList, the lib throws a typeError while trying to read url property of this object.

Screenshots:

screen shot 2017-12-30 at 11 22 12 pm

Expected / new behavior:

  1. It should be safe to return a null value in the onData(..) methods for ResultCard and ResultList.
  2. Ideally, rendering of the list-items should be skipped when a null value is returned.

Minimal reproduction of the problem with instructions:

Implement an onData prop function which returns null.

onData={()=>(null)}

Reactivesearch version: x.y.z

2.0.0-alpha-12

Browser: [all | Chrome XX | Firefox XX | Edge XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

All

Anything else:

Uncaught TypeError: Cannot read property 'url' of null
    at ResultCard.renderAsCard (ResultCard.js:408)
    at ResultCard.js:228
    at Array.map (<anonymous>)
    at ResultCard.render (ResultCard.js:227)
    at finishClassComponent (react-dom.development.js:7873)
    at updateClassComponent (react-dom.development.js:7850)
    at beginWork (react-dom.development.js:8225)
    at performUnitOfWork (react-dom.development.js:10224)
    at workLoop (react-dom.development.js:10288)
    at HTMLUnknownElement.callCallback (react-dom.development.js:542)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:581)
    at invokeGuardedCallback (react-dom.development.js:438)
    at renderRoot (react-dom.development.js:10366)
    at performWorkOnRoot (react-dom.development.js:11014)
    at performWork (react-dom.development.js:10967)
    at requestWork (react-dom.development.js:10878)
    at scheduleWorkImpl (react-dom.development.js:10732)
    at scheduleWork (react-dom.development.js:10689)
    at Object.enqueueSetState (react-dom.development.js:6212)
    at Connect../node_modules/react/cjs/react.development.js.Component.setState (react.development.js:237)
    at Connect.onStateChange (connectAdvanced.js:205)
    at Object.notify (Subscription.js:26)
    at Subscription.notifyNestedSubs (Subscription.js:65)
    at Connect.onStateChange (connectAdvanced.js:202)
    at dispatch (createStore.js:173)
    at index.js:14
    at dispatch (applyMiddleware.js:35)
    at Stream.handleResponse (index.js:1)
    at Stream../node_modules/events/events.js.EventEmitter.emit (events.js:96)
    at fetch_request.js:70
    at <anonymous>

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions