So this reproduces an issue with variable names generated by codegen.
relevant code
type MyEventType = {
type: string;
payload: {
message: string;
}
};
export interface NativeProps extends ViewProps {
onPressed?: CodegenTypes.BubblingEventHandler<MyEventType> | null;
}cat build/generated/ios/react/renderer/components/AppSpec/EventEmitters.cppvoid SimpleViewEventEmitter::onPressed(OnPressed event) const {
dispatchEvent("pressed", [event=std::move(event)](jsi::Runtime &runtime) {
auto payload = jsi::Object(runtime);
payload.setProperty(runtime, "type", event.type);
{
auto payload = jsi::Object(runtime);
payload.setProperty(runtime, "message", event.payload.message);
payload.setProperty(runtime, "payload", payload);
}
return payload;
});
}
Note that the payload variable is shadowed, and this code just makes a recursive structure:
{
auto payload = jsi::Object(runtime);
payload.setProperty(runtime, "message", event.payload.message);
payload.setProperty(runtime, "payload", payload);
}