News for hackers. Stuff that matters.
Re:React v0.12 by jbhatab on Tuesday October 28, 2014 @05:36PM (#8523758)
Thanks for the response.

Could you give me a quick example of calling a component with object literals instead of functions? I'm not understanding how that will play out in the final code.

Also, isn't it just adding React.createFactory, not replacing React.createClass?

Re:React v0.12 by sebmarkbage on Tuesday October 28, 2014 @06:03PM (#8523876)
In CoffeeScript it might look something like this:

element = type: 'div' props: className: 'container', children: [ type: 'span', props: className: 'foo' type: CustomClass, props: className: 'bar' ]

(This doesn't fully work in 0.12 because we also have some extra properties on there but that's the direction we're going.)

0.12 is just adding React.createFactory. 0.13 will optionally replace React.createClass.

We do this so that there's a seamless upgrade path. We have to remove the warnings to fix the classes.

Re:React v0.12 by kaoD on Tuesday October 28, 2014 @06:52PM (#8524148)
I guessed that indentation:

    element =
      type: 'div'
      props: className: 'container'
      children: [
          type: 'span'
          props: className: 'foo'
      ,
          type: CustomClass
          props: className: 'bar' 
      ]
Re:React v0.12 by jbhatab on Tuesday October 28, 2014 @11:46PM (#8525422)
Thanks for the answers.

I will say that I do really like the syntax of coffeescript as is though,

  div className: 'container',
    span className: 'foo'
    CustomClass classname: 'bar'
It reminds me a lot of slim and reads nicely.