@native("React.Component") abstract class Component() : ReactElement { /** * Warning : Object prototype will be lost */ @native("setState") fun setState(state: dynamic):Unit fun setStatePartial(init: StateBuilder.()->Unit):Unit { val builder = StateBuilder() builder.init() setState(builder.toJsObject()) } } class App : Component() { } fun main(...) { val app:App() // When I inspect app, the setStatePartial is not in parent prototype }