Using this.setState in the callback of this.setState in React JS?

I would look at the part where you are setting this.Dungeon.map in state.

this.setState({
          board: this.Dungeon.map, currentMessage: "Game restarted", player: player, weapon: weapon, dungeonLevel: 0
          }, function(){

                this.generateGamePlay();

          })

my guess is that something else may be changing the map object and not using setstate since it is a property of the Dungeon.

from the react docs

Never mutate this.state directly, as calling setState() afterwards may replace the mutation you made. Treat this.state as if it were immutable.

when you pass the map property to setstate it will keep a reference to this.Dungeon.map which if you then modify will cause issues. You should make a copy of what ever .map is and pass that to state.

You should also make one component in charge of the state instead of calling it multiple times in different functions. From the react docs

setState() does not immediately mutate this.state but creates a pending state transition. Accessing this.state after calling this method can potentially return the existing value.

There is no guarantee of synchronous operation of calls to setState and calls may be batched for performance gains.

your freezing could be from race conditions in the render method due to all the multiple setstate calls.