React protocol