react protocol