Blog coding and discussion of coding about JavaScript, PHP, CGI, general web building etc.

Thursday, December 24, 2015

React equivalent for ng-repeat

React equivalent for ng-repeat


I am new to React.js. I am trying to bind data arrays. I am looking for the equivalent of ng-repeat, but i can't find it inside documentation.

e.g:

var data =  ['red', 'green', 'blue']  

using angular i would have done something like this in my html:

{{i}}

I am wondering the React's markup to do this

Answer by Jim Bolla for React equivalent for ng-repeat


Should just be:

{data.map(i => 
{i}
)}

Answer by Michel Uncini for React equivalent for ng-repeat


In your render function inside a react component you can do this:

var data =  ['red', 'green', 'blue'];  var dataComponent = [];  data.forEach(function (dataValue) {      dataComponent.push(
{dataValue}
); });

And now you can return the dataComponent.

Answer by WiredPrairie for React equivalent for ng-repeat


In React, you just write the necessary JavaScript (and potentially build it into a reusable control as you'll see). It's very prescriptive and easy to do once you learn the basic patterns (and how they differ from AngularJS).

So, in the render function, you'd need to iterate through the list. In the example below, I've used map, but you could use other iterators as needed.

var List = React.createClass({      render: function() {          return (
{ this.props.data.map(function(item) { return
{item}
}) }
); } }); var data = ['red', 'green', 'blue']; React.render(, document.body);

Here it is in use.

And, as you can see, you can quickly build a reusable component that can "repeat" through the list.

Answer by Michael Martin for React equivalent for ng-repeat


To perform the same task as ng-repeat in React you just need to think natively. Under the hood ng-repeat is just using a native Javascript iterator. You can use the same sort of native iterator directly in React. For example, I`ll use Array.map:

var RepeatModule = React.createClass({    getInitialState: function() {      return { items: [] }     },     render: function() {        var listItems = this.props.items.map(function(item) {        return (          
  • {item.name}
  • ); }); return (
      {listItems}
    ); } });

    I got the above example from http://angulartoreact.com/ng-repeat-react-equivalent . The site has more examples of React equivaents to Angular directives.

    Answer by Kirill Fuchs for React equivalent for ng-repeat


    Here is an example using ES6, and a stateless component.

    The below code demonstrates creating a menu by looping through a list of menu items.

    import React from 'react';  import Menu from 'material-ui/lib/menus/menu';  import MenuItem from 'material-ui/lib/menus/menu-item';      const menuItems = [      {route: '/questions', text: 'Questions'},      {route: '/jobs', text: 'Jobs'},      {route: '/tags', text: 'Tags'},      {route: '/users', text: 'Users'},      {route: '/badges', text: 'Badges'}      {route: '/questions/new', text: 'Ask Question'}    ].map((item, index) => );      const Sidebar = ({history}) => (       history.push(child.props.value)}      >          {menuItems}        );      export default Sidebar;  

    Basically what we're doing is just pure javascript iteration utilizing Array.map.


    Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\XAMPP INSTALLASTION\xampp\htdocs\endunpratama9i\www-stackoverflow-info-proses.php on line 72

    0 comments:

    Post a Comment

    Popular Posts

    Powered by Blogger.