Coder Social home page Coder Social logo

Comments (8)

nicolodavis avatar nicolodavis commented on August 15, 2024

When you say the game state is changed, you mean you are able to see the new state on the Debug UI? Which props do you find are stale? What is this callback you are referring to (did you mean click handler)?

from boardgame.io.

michaelmior avatar michaelmior commented on August 15, 2024

Yes, I meant click handler. Specifically, the game state is stale. For example, I have an action called selectDie and in that action, I log the new state produced. Immediately after calling that action, I see the state has correctly changed, but this.props.G still refers to the old state.

from boardgame.io.

nicolodavis avatar nicolodavis commented on August 15, 2024

Do you have a link to your code? I can take a look and see what's going on.

from boardgame.io.

michaelmior avatar michaelmior commented on August 15, 2024

Thanks! Unfortunately, the code is a bit of a mess now since I just started working on the project this afternoon. Here is the line where I specifically call my move. The logging statement after shows that the game state is stale.

from boardgame.io.

nicolodavis avatar nicolodavis commented on August 15, 2024

reduxjs/react-redux#748 should answer your question.

Also, I would recommend keeping click handlers fairly simple. There shouldn't be much game logic in there. Your game might also benefit from the upcoming support for phases.

from boardgame.io.

michaelmior avatar michaelmior commented on August 15, 2024

@nicolodavis Yes, I agree that the handler is getting too complex. I've been watching the phases support and I think that would likely make things much cleaner. Is it currently possible to call a move (or endTurn) from within another move?

from boardgame.io.

nicolodavis avatar nicolodavis commented on August 15, 2024

Calling an action from a reducer (move handler) is generally considered an anti-pattern.

I think the phases support should help with this. There are hooks to automatically end a phase when a particular condition is met.

I'll add something similar for ending turns.

from boardgame.io.

michaelmior avatar michaelmior commented on August 15, 2024

Thanks! This is just a fun side project so I'll probably just wait until phases support lands.

from boardgame.io.

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.