Settings

Theme

Show HN: Fate, a new data framework for React and tRPC, inspired by Relay

github.com

29 points by cpojer 7 days ago · 3 comments

Reader

Reubend 6 days ago

This provides plenty of value conceptually, but I wish they were able to push the syntax into a more intuitive place. My biggest gripe with Relay is how forced the syntax feels, and this seems better but still confusing. Take for example this component declaration:

export const PostCard = ({ post: postRef }: { post: ViewRef<'Post'> }) => { ... }

That feels terrible to me! I don't have any suggestion from my side, but I feel like there's got to be a less awkward way.

  • cpojerOP 6 days ago

    You don't have to rename the variable. You can also do this:

    ```

    export function PostCard(props: { post: ViewRef<'Post'> }) {

      const post = useView(PostView, props.post);
    
    }

    ```

    If you add a few aliases (that can be easily generated), it becomes this:

    ```

    export function PostCard(props: { post: PostViewRef }) {

      const post = useView(PostView, props.post);
    
    }

    ```

    There are many bits in fate worthy of criticism. Naming and typing React props really isn't one of those.

  • hombre_fatal 6 days ago

    At least complain about something specific to the project and not generic TypeScript syntax.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection