Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
Graeme_GrantG

Graeme_Grant

@Graeme_Grant
About
Posts
1.3k
Topics
739
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • My article is missing
    Graeme_GrantG Graeme_Grant

    @NikStar said in My article is missing:

    What should I do to get my article back from Deeksha Shenoy?

    Be patient ... they'll address it. Many fires to chase...

    WCF and WF

  • New slugs are dangerous
    Graeme_GrantG Graeme_Grant

    Last night, when searching for my old articles, I hit "404 Page Not Found".

    For example: https://www.codeproject.com/Articles/5365754/Blazing-Mvvm-Blazor-Server-WebAssembly-Hybrid-usin is now https://codeproject.com/articles/Blazing-Mvvm-Blazor-Server-WebAssembly-Hybrid-usin

    I have to fix all of my own broken links, but also, which is far worse for CP, is, from a SEO perspective, this is suicide, breaking thousands of inbound links built up over the decades.

    I can't recommend highly enough to quickly have 302 redirects for the old URLs!

    Site Bugs / Suggestions

  • My profile history and articles are missing
    Graeme_GrantG Graeme_Grant

    @dlymand2 Okay I have found most of my articles:

    Graeme_Grant <- Myself (another account?)

    • .NET App Settings Demystified (C# & VB)
    • .NET Silent ClickOnce Installer for Winform & WPF in C# & VB
    • Put the website in Maintenance Mode (Under Construction)
    • Blazor Component Callback from a RenderFragment Template
    • Blazor Web Assembly (WASM) Theme Switching
    • Silent ClickOnce Installer for Winform & WPF in C# & VB
    • Simplest WPF Dependency Property For Beginners On 'ValidState'
    • The Missing Avalonia Templates for VB
    • Working with Newtonsoft.Json in C# & VB

    Deeksha Shenoy

    (1,000+ articles - I doubt that they are all theirs - they helped clean up articles, not write them)

    • Blazing.Mvvm - Blazor Server, WebAssembly, & Hybrid using Mvvm Community Toolkit
    • Blazor Web Assembly (WASM) Toggle Switch
    • Deserializing Json Streams using Newtonsoft.Json & System.Text.Json with C# & VB
    • Flexible WPF ToggleSwitch Lookless Control in C# & VB
    • Generating Anagrams at Breakneck Speed
    • LogViewer Control for WinForms, WPF, and Avalonia in C# & VB
    • Working with SQLite in C# & VB

    Smitha Nishant

    (1,000+ articles - I doubt that they are all theirs - they helped clean up articles, not write them)

    • Generic Multi-Select MVVM ListBox Drag and Drop Helper with Custom Feedback for Silverlight 4.0

    The old CP had an edit history. I suspect that you're using the latest edit, not the original post, as the owner, based on the findings above.

    I hope that this helps as you have your work cleaning them up.

    Site Bugs / Suggestions

  • Global Variables rather than context
    Graeme_GrantG Graeme_Grant

    @realJSOP said in Global Variables rather than context:

    I thought all state changes caused re-renders.

    Zustand does cause UI updates in React, but only for the components that subscribe to the part of the store that changed.

    Here’s how it works:

    • Zustand provides a global store (kind of like Redux, but simpler).
    • When you call useStore((state) => state.someValue), your component subscribes to someValue.
    • If someValue changes (and the equality check shows it’s actually a new value), Zustand triggers a re-render only for that component.
    • Other components that subscribe to different parts of the store won’t re-render unless their slice changes.

    Example:

    import create from "zustand";
    
    const useStore = create((set) => ({
      count: 0,
      increment: () => set((state) => ({ count: state.count + 1 })),
    }));
    
    function Counter() {
      const count = useStore((state) => state.count);
      const increment = useStore((state) => state.increment);
    
      return (
        <button onClick={increment}>
          Count: {count}
        </button>
      );
    }
    
    • Clicking the button calls increment(), which updates count in the store.
    • Zustand detects the change and re-renders only the Counter component (since it subscribed to state.count).

    So... Zustand doesn’t trigger a global re-render like a context provider might. It’s selective and efficient.

    React

  • Ownership of the past/old articles?
    Graeme_GrantG Graeme_Grant

    @rtybase said in Ownership of the past/old articles?:

    What happened to the "ownership" of the past articles?

    Yep, they are aware and are "working on it"

    The Lounge

  • Global Variables rather than context
    Graeme_GrantG Graeme_Grant

    @realJSOP said in Global Variables rather than context:

    well, zustand seems to work pretty well. I'm using the createSelectors paradigm and it's pretty easy to understand and use.

    Glad to hear! I agree, it is far better and more flexible!

    React
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups