Print State of React-Redux Application in Developer Tools - reactjs

I'm a react-redux beginner and this may seem like a trivial and kind of stupid question but I did not manage to find a satisfactory answer.
I have a react-redux application and receive a kind of complicated data structure from an API, the details don't matter I believe.
I want to know if there is a tool that allows us to write some quick REPL-style commands in the console or in the debugger. I currently have react and redux developer tools and a logger middleware which is perfect for seeing the evolution of the state and logging but I can not manage to go through/inspect the nested data I receive.
Thanks in advance folks,
David

Not sure if it's entirely what you are after, but can't you just keep a ref to the store on the window object? That way you can access it from the console?
var yourStore = createStore(...);
window.store = store;

Related

React/Redux Receive data from JSON and display/edit them

I am trying to help a friend build a React/Redux app where it will get some data from a JSON file and diplay them and be able to edit them.
As we are both new to this and the deadline is pretty close I was wondering if there is anyone who can enlight us on how to do it.
I tried a couple of tutorials like these
Tutorial 1
Tutorial 2
but they weren't too much help as they are either outdated or not what we are looking for.
I apologize if this is not the place to ask this but this project has to be done.
We are either looking someone to help us to it or send us like good examples on how to do it.
Thank you
For fetching data in Redux, you need to write a Redux middleware or use middleware wrapper like redux-saga or redux-observable, etc. I recommend you to use redux-observable. Take a look at this repo for how to build a todo app using React and Redux Observable.
About Redux middleware, I suggest you to read this article.

React data flow

I am trying to create a blog application and I am a bit confused on the data flow patterns of React.
Should I be trying to use something like Redux to store all of my posts after fetching the posts? Do I use local storage?
How do I then tell a component to render the 'expanded' version of the post? Is it better to re-use a 'post' component or should I just create two seperate components, one for the title and one for the full post?
I know it's two questions in one, but they kind of go together. Thanks in advance
Here's what I've found out about these topics after 6 months into my self-taught React journey.
In my opinion, React built-in features are more than enough to handle state for a small to medium applications (especially if you're working alone as a single developer).
If you turn to Redux right away, you'll have to learn this whole new pattern of handling state in a single immutable store and how to connect your components to it.
Since you will be most likely fetching data asynchronously, you'll need a helper library to work async on Redux: redux-thunk or redux-saga.
So right from the start, you'll have to add:
redux
react-redux
redux-thunk OR redux-saga
That is a lot of documentation to digest. It's perfectly doable, but I couldn't agree more with this quote:
don't solve problems that you don't have
It will be hard to learn those tools, since you've never faced the problems that they solve. Problems that you don't encounter just yet when you're starting to learn React.
Read this (from Redux creator):
https://medium.com/#dan_abramov/you-might-not-need-redux-be46360cf367
So, my recommendation to you:
Learn basic React (with classes):
https://reactjs.org/docs/getting-started.html
Then learn React Hooks (and you can basically forget about class components):
https://reactjs.org/docs/hooks-intro.html
Build your project using only React at first. And see how it goes. Then you can read more about Redux and what it does, and will be able to make a better choice on if you really need it or not.
From what you've told us about your project:
Keep a state for all your posts in a component high in the tree. Maybe inside the <App/> component itself.
Build your functions to fetch and update post data and update the state with the response.
Render how many components as you wish. Displaying full info about the post inside a BlogPostComponent or simplified version inside a BlogPostThumbnailCard with just the thumbnail and the title, for example.
If you want to be ready for the next versions of React and have a shorter code, you should try the hooks and avoid Classes
https://reactjs.org/docs/hooks-intro.html
You can organize your code as you want, but this is more interesting to have scalability with your components and reuse them with different properties

Sync Redux State with Firebase Firestore

Please tell me if I am oversimplifying.
I have build a working React + Redux web app prototype, working theoretically as I would like using redux-persist and rehydrating from local storage each time.
I feel as though, given that this works perfectly, there should be some available middleware out there to sync my Redux store with Firebase (or some other tool).
All the tools out there seem to be exposing Firebase directly to me, whereas I feel that my Redux store should be able to act as an abstraction/caching layer over Firebase.
I have looked into all of the popular libraries (and many less popular), for example:
https://github.com/prescottprue/react-redux-firebase
This guy seems to have the same idea:
https://medium.com/#david.gilbertson/react-and-firebase-sittin-in-a-tree-a00d481786cb
Any guidance or am I totally going down the wrong track? My expectation would be to never have to directly reference a Firebase Ref in my main code and to not change what I already have.

react and redux user authentication store

I have two basic questions (dont need anyone to write the code or something, just to see different directions).
When using react, react-router and redux what is the best approach to setup user authentication (using jwt)? I have researched a lot of articles and everyone uses different approach, so it becomes a bit confusing and everyone has different opinion saying other way is wrong etc...
What way and where is the best place to store user token and all informations related to that?
How to prevent user from accessing specific routes, what is best approach to do this and where exactly?
Imagine that app is ugins react, react-router for route setup and redux.
Check auth wrapper - nice solution for your problem.

How to pass large data inbetween components

I am trying to build an react app where i need to pass a JSON of size more than 4MB in between routes / components.
I tried passing as query params in route, the url changes to blank..How can this be done in react.
It's probably not a direct answer but if you are starting a new app I would recommend you to use Redux with react-redux.
Redux is a predictable state container for JavaScript apps.
It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as live code editing combined with a time traveling debugger.
It's very small library so it's easy to understand how everything works. It might be a good solution to your problem.
Todo app example
You can also check out awesome egghead.io free tutorial - Getting Started with Redux
Here is the answer about the redux benefits by its author Dan Abramov

Resources