Code Monkey home page Code Monkey logo

Comments (3)

diegohaz avatar diegohaz commented on May 20, 2024

Hi @viperfx

export const Form = createContainer(useFormState, value => [value.values]);
                                                                  ^

useFormState doesn't return .values. You should probably use [value.report_fields, value.report, value.teams] or don't pass anything there.

Edit:

This is the correct usage for your case:
export const Form = createContainer(useFormState, ({ state }) => [...state.report_fields, state.report, state.team]);

Nevermind, you have deep objects and arrays. Computing changes on your state would be probably more expensive than re-rendering components.

from constate.

viperfx avatar viperfx commented on May 20, 2024

hey @diegohaz thanks for the quick reply. I change to export const Form = createContainer(useFormState); and it worked as expected.

I realise now I was using your wizard example on the repo, but I change the hook return signature.

So leaving it blank - does that have any impact?

So if I called my state, values in my return for hooks such as { values, dispatch } that would have worked?

from constate.

diegohaz avatar diegohaz commented on May 20, 2024

If you leave it blank, consumers will re-render whenever the Provider re-renders (even when its state hasn't changed). For most apps it shouldn't be a problem though.

See https://github.com/diegohaz/constate#creatememoinputs

from constate.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.