I'm sorry, I'm very busy right now, but I will take a look as soon as I can.
On Wed, Mar 16, 2016 at 5:16 PM, Paul Stockley <[email protected]> wrote: > Well I think I have hit a roadblock with the current state of JsInterop. > Given the code below >> >> > > >> public class Example { >> >> @JsType(isNative = true, namespace = JsPackage.GLOBAL, name = "Object") >> private static class State extends BaseState { >> public String aStateVar; >> } >> >> static public BaseState getInitialState() { >> State s = new State(); >> s.aStateVar = "Initial Value"; >> return s; >> } >> >> protected static final native <S extends BaseState> S getState() /*-{; >> return this.state; >> }-*/; >> >> static public ReactElement<?> render() { >> >> //getState will not work because the this in the global JSNI >> function is bound to $Wnd >> State ourState = getState(); >> >> . >> . >> } >> >> public native JavaScriptObject makeSpec() /*-{ >> return { >> render : $entry(this.render()), >> getInitialState : $entry(this.getInitialState()) >> }; >> }-*/; >> >> } >> >> > The render method gets called fine and within this method this points to > the react element. I need to get the state and props that are stored as > variables. The problem is I have no way of getting this.props unless I use > JSNI. The JSNI function created is defined on the global window object and > this is bound to the window object. So I am dead in the water until I can > get the class based component working. Even if I get this working I will > face another issue. In ES6 components you normally have to bind any > callbacks to the enclosing object.this. e.g. > > > render() { return ( <div onClick={this.tick.bind(this)}> Clicks: {this. > state.count} </div> ); > } > > > -- > You received this message because you are subscribed to the Google Groups > "GWT Contributors" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/google-web-toolkit-contributors/ac1fbf90-4b52-4a2e-9224-c4b16a218e17%40googlegroups.com > <https://groups.google.com/d/msgid/google-web-toolkit-contributors/ac1fbf90-4b52-4a2e-9224-c4b16a218e17%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "GWT Contributors" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit-contributors/CAN%3DyUA1WKLytqXjqxjCYkTVjTNJe6kGXkbO-oecj2LqgvVAW6g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
