Skip to content

Instantly share code, notes, and snippets.

@nemosupremo
Created March 3, 2015 19:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nemosupremo/3af7fcb0e0f5f157edb0 to your computer and use it in GitHub Desktop.
Save nemosupremo/3af7fcb0e0f5f157edb0 to your computer and use it in GitHub Desktop.
comment = React.createClass({
mixins: [React.addons.PureRenderMixin],
getDefaultProps: () ->
return {open:false, onToggle: (() -> )}
toggle: (event) ->
@props.onToggle(my_key_or_something)
render: () ->
if @props.open
<div render_comment_with_open_state onClick={toggle()} />
else
<div render_comment_with_open_state onClick={toggle()} />
})
commentList = React.createClass({
mixins: [React.addons.PureRenderMixin],
getInitialState: () ->
{comments: commentsstore.get(@props.lol), open:{}}
toggle: (key) ->
newState = _.clone(@state.open)
newState[key] = !@state.open[key]
@setState({open:newState})
render: () ->
return _.map(@state.comments, (data, idx) -> (<comment key=idx open=@state.open[idx] onToggle=@toggle />))
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment