diff --git a/.npmignore b/.npmignore
index 43ceb5d..51c4959 100644
--- a/.npmignore
+++ b/.npmignore
@@ -2,3 +2,8 @@ src/
test/
.nyc_output/
coverage/
+examples/
+*.webpack.config.js
+.babelrc
+.eslintrc
+.gitignore
diff --git a/src/connect.js b/src/connect.js
index 25af825..f9024b1 100644
--- a/src/connect.js
+++ b/src/connect.js
@@ -25,7 +25,7 @@ const connect = (propsToPass, callbackName) => (Component) => {
}
propSubscritpion(prop) {
- if (prop.value) {
+ if (prop.value !== undefined) {
this.setState({
[prop.name]: prop.value,
});
diff --git a/test/cycleReactDriver.spec.js b/test/cycleReactDriver.spec.js
index b5e3d25..665a6ab 100644
--- a/test/cycleReactDriver.spec.js
+++ b/test/cycleReactDriver.spec.js
@@ -165,6 +165,23 @@ describe('Cycle React Driver', () => {
expect(renderMock.getWrapper().find(Dummy)).to.not.have.prop('prop');
});
+ it('Should render a prop from the driver if its value is falsy but defined', () => {
+ const ConnectedDummy = connect()(Dummy);
+ const cycleReactDriver = makeCycleReactDriver(, '#app');
+ const prop = new Rx.Subject();
+
+ cycleReactDriver(prop);
+ prop.next({ name: 'prop1', value: 0 });
+ prop.next({ name: 'prop2', value: null });
+ prop.next({ name: 'prop3', value: '' });
+ prop.next({ name: 'prop4', value: false });
+
+ expect(renderMock.getWrapper().find(Dummy)).to.have.prop('prop1', 0);
+ expect(renderMock.getWrapper().find(Dummy)).to.have.prop('prop2', null);
+ expect(renderMock.getWrapper().find(Dummy)).to.have.prop('prop3', '');
+ expect(renderMock.getWrapper().find(Dummy)).to.have.prop('prop4', false);
+ });
+
it('Should only render props specified in connect', () => {
const ConnectedDummy = connect(['filteredIn'])(Dummy);
const cycleReactDriver = makeCycleReactDriver(, '#app');