From 4b98d593bb4b8b0eeac9823a07db75d6a43beab6 Mon Sep 17 00:00:00 2001 From: Norbert de Langen Date: Sun, 7 Jul 2019 23:51:30 +0200 Subject: [PATCH] Prevent rerender when a button callback returns false. (#7197) Prevent rerender when a button callback returns false. --- addons/knobs/README.md | 3 +++ addons/knobs/src/registerKnobs.js | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/addons/knobs/README.md b/addons/knobs/README.md index 5eda6a44e1d2..c9c01e7cba05 100644 --- a/addons/knobs/README.md +++ b/addons/knobs/README.md @@ -412,6 +412,9 @@ const groupId = 'GROUP-ID1'; button(label, handler, groupId); ``` +Button knobs cause the story to re-render after the handler fires, you can prevent +this by having the handler return false. + ### withKnobs options withKnobs also accepts two optional options as story parameters. diff --git a/addons/knobs/src/registerKnobs.js b/addons/knobs/src/registerKnobs.js index 412783c36249..07e3ecf08d73 100644 --- a/addons/knobs/src/registerKnobs.js +++ b/addons/knobs/src/registerKnobs.js @@ -44,8 +44,9 @@ function knobChanged(change) { function knobClicked(clicked) { const knobOptions = knobStore.get(clicked.name); - knobOptions.callback(); - forceReRender(); + if (knobOptions.callback() !== false) { + forceReRender(); + } } function resetKnobs() {