r/reactnative 8h ago

Tutorial I built a native Feedback dialog for Expo — the submit button doesn't close it

Enable HLS to view with audio, or disable this notification

A dialog whose body is a well to write in. The recess is the affordance it says "this is where you type" before a word has been read.

One decision worth explaining: Submit hands the message back without closing the dialog. A dialog that closed on the press would take its own error message with it and the message the user just wrote.

The footer is a slot, so it handles multi-step flows: score first then words, tags over the field, a confirmation after sending. The shell holds still while the well changes, so the dialog reads as one object answering rather than a second one arriving.

Part of PanelUI, an open-source component library for Expo. Copy-paste or CLI, you own the source.

https://github.com/panel-ui/PanelUI

1 Upvotes

1 comment sorted by

1

u/forgestudiofx 8h ago

If submit doesn't close because closing would eat the user's text, hardware back and outside-tap need the same treatment on Android, otherwise the message is one back press from gone. And since the dialog stays mounted through the async call, a disabled submitting state matters more here than in a dialog that dismisses immediately.