Blog>
Snippets

Logging and Breakpoint Strategies for Debugging

Illustrate practical examples of using logging and breakpoints effectively to debug complex issues within TanStack Config, including conditional breakpoints based on specific state conditions.
console.log('Current state before update:', store.getState());
// Dispatch an action to update state
store.dispatch({ type: 'ADD_ITEM', payload: newItem });
console.log('Updated state:', store.getState());
This code snippet demonstrates basic logging before and after a state update in TanStack. It helps in verifying that the state changes as expected after an action is dispatched.
// Conditional breakpoint in your editor or browser's developer tools
if(store.getState().items.length > 5) {
    debugger;
    // Perform some diagnostics or inspections here
}
This snippet shows how to use a conditional statement to trigger a breakpoint if a specific condition in the state is met. In this case, a breakpoint is triggered if there are more than 5 items in the state, allowing for in-depth debugging at that moment.
store.subscribe(() => {
    const currentState = store.getState();
    if(currentState.error) {
        console.error('Error in state:', currentState.error);
    }
});
Here, a subscription to the store is set up to log errors whenever the state is changed. This is useful for monitoring errors that might occur during state updates, aiding in rapid identification and resolution of issues.