Develop the server and make sure you follow the above steps correctly. Define and mock your data Note that keys are destructured in function parameters for easy access to their values. object of type to the component. Each user in this application will appear within a rectangle containing the username. Replace the existing tag with the following to display the username using some nice styling Copy the component Now you are ready to display the user's details but you haven't rendered it anywhere yet. Go to and import your new component. Then instead of the current tag render the component copy for each user in the array If you go back to the browser you should see a nice box with your username in it The only thing missing at this point is the user's message. Display messages for each user .
Now you can display your use photo editing servies rs and you will display the associated messages for the users. You will create a tree view to display messages. First create a component to display a separate message. Create a new file in the named copy then import the types into the new file and create an object of type with two keys that holds the message details and holds the value of the current message index in the parent message list. The result should look like the code below. Fragment Copy With these pieces in place you can build the component functionality. The code below uses the type you wrote to describe the function parameters Extract and value using destructuring Render the message in a style container.
Finally export the component Copy Now it's time to use the component Import the component and render one for each element in the array Copy in browse In the browser you should now see each user's messages on the right side. It looks good but there is one last thing to add. You are building a tree view so the last part is to render the branches that connect each message to its user. Create a new file named Copy This component will take a property that indicates whether the message it is linked to is the first message in the list. Note this is why you need the key in the component. Insert the following component into this file Copy the code snippet above to render a branch with some neat magic. If you're interested in the functionality provided or want to better understand what's going on above there is amazing documentation covering all the classes used above. To complete.