
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
@remix-run/react
Advanced tools
@remix-run/react is a package that provides React components and hooks for building web applications with Remix, a full-stack web framework. It allows developers to handle routing, data loading, and form handling in a seamless and efficient manner.
Routing
The routing feature allows you to define navigation within your application. The `Link` component is used to create navigable links, and the `Outlet` component is used to render the matched child route.
import { Link, Outlet } from '@remix-run/react';
function App() {
return (
<div>
<nav>
<Link to="/home">Home</Link>
<Link to="/about">About</Link>
</nav>
<Outlet />
</div>
);
}
Data Loading
The data loading feature allows you to fetch data on the server and pass it to your components. The `useLoaderData` hook is used to access the data loaded by the `loader` function.
import { useLoaderData } from '@remix-run/react';
export async function loader() {
const data = await fetchData();
return data;
}
function DataComponent() {
const data = useLoaderData();
return <div>{JSON.stringify(data)}</div>;
}
Form Handling
The form handling feature allows you to manage form submissions and handle the data on the server. The `Form` component is used to create forms, and the `useActionData` hook is used to access the data returned by the `action` function.
import { Form, useActionData } from '@remix-run/react';
export async function action({ request }) {
const formData = await request.formData();
const result = await processFormData(formData);
return result;
}
function FormComponent() {
const actionData = useActionData();
return (
<Form method="post">
<input type="text" name="name" />
<button type="submit">Submit</button>
{actionData && <div>{JSON.stringify(actionData)}</div>}
</Form>
);
}
React Router is a popular library for handling routing in React applications. It provides similar routing capabilities as @remix-run/react but does not include built-in data loading and form handling features.
Next.js is a React framework that offers server-side rendering, static site generation, and API routes. It provides a more comprehensive solution compared to @remix-run/react, including routing, data fetching, and form handling.
Gatsby is a React-based framework for building static sites. It offers powerful data fetching capabilities through GraphQL and a rich plugin ecosystem. While it provides routing and data loading, it is more focused on static site generation compared to @remix-run/react.
Remix is a web framework that helps you build better websites with React.
To get started, open a new shell and run:
npx create-remix@latest
Then follow the prompts you see in your terminal.
For more information about Remix, visit remix.run!
v2.0.1
Date: 2023-09-21
getDependenciesToBundle
to handle ESM packages without main exports (#7272)
package.json
in their exports
field so that their path can be resolvedserverBuildPath
extension is .cjs
(#7180)remix-serve
and manual mode (remix dev --manual
) (#7487)
require
cache, remix-serve
now correctly re-imports new server changes in CJSbuild.assets
being undefined and crashing when reading build.assets.version
UIMatch
for handle
field (#7464)route.lazy
(#7498)ErrorResponse
instead of just an Error
when submitting to a route without an action
(#7423)@remix-run/web-fetch
(#7477)crypto.randomBytes
to crypto.webcrypto.getRandomValues
for file session storage ID generation (#7203)Blob
class instead of polyfill (#7217)Full Changelog: v2.0.0...v2.0.1
FAQs
React DOM bindings for Remix
The npm package @remix-run/react receives a total of 346,739 weekly downloads. As such, @remix-run/react popularity was classified as popular.
We found that @remix-run/react demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.