Treats

Treats

  • Getting Started

›API Reference

Getting Started

  • Installation

Tutorial

  • 01. Creating Your First Page
  • 02. Using Redux
  • 03. Using GraphQL
  • 04. Fetch Data for SSR
  • 05. Adding Addons

Main Concepts

  • Overview
  • Routing
  • Localization
  • Code-splitting
  • Redux
  • GraphQL Client
  • Middlewares
  • Helpers
  • Server-side Events
  • Server-side Template
  • Server-side Rendering
  • Custom Server App
  • Custom Client Initialization
  • Custom React App
  • Runtime Config
  • Build Config
  • Environment Variables
  • Code Generator
  • Scripts
  • Addons
  • Typescript
  • Workbox

API Reference

  • Overview
  • Filesystem Hooks
  • Components
  • Server
  • Client
  • Router
  • Intl
  • Locale Data
  • Helmet
  • Redux
  • Graphql

Authoring Addons

  • Overview
  • Helpers
  • Middlewares
  • Generators
  • Wrapping Up

Addons

  • Treats Addons List

Contributing

  • How To Contribute

FAQ

  • FAQs

Graphql

Treats abstracts away react-apollo with @treats/graphql alias, it is recommended to import from @treats/graphql instead of react-apollo directly because in the future, there might be improvements or patches that Treats made. Full documentation about react-apollo can be found here

// src/page/my-page/my-page.graphql
query MyPageQuery {
    myPage {
        title
        description
    }
}
// src/page/my-page/my-page.js
import { Query } from "@treats/graphql";
import { MyPageQuery } from "./my-page.graphql";

const MyPage = ({ username }) => (
    <Query query={MyPageQuery}>
    {({ loading, error, data }) => {
        if (loading) return "Loading...";
        if (error) return `Error! ${error.message}`;
        return (
            <div>
                <span>{data.title}</span>
                <span>{data.description}</span>
            </div>
        )
    }}
    </Query>
);


export default MyPage;
← ReduxOverview →
Tokopedia Open Source
Copyright © 2019 Tokopedia OSS