{"success":true,"data":{"query":"User Memories","limit":10,"count":10,"sources":["wiki_artificial_intelligence.hat","web_1779060034.hat","web_1779060041.hat","web_1779060046.hat","postgres_mastery.tah"],"synced":[],"results":[{"source":"wiki_artificial_intelligence.hat","text":"Perception\nMachine perception is the ability to use input from sensors (such as cameras, microphones, wireless signals, active lidar, sonar, radar, and tactile sensors) to deduce aspects of the world. Computer vision is the ability to analyze visual input.\nThe field includes speech recognition, image classification, facial recognition, object recognition, object tracking, and robotic perception.\n\nSocial intelligence\nAffective computing is a field that comprises systems that recognize, interpret, process, or simulate human feeling, emotion, and mood. For example, some virtual assistants are programmed to speak conversationally or even to banter humorously; it makes them appear more sensitive to the emotional dynamics of human interaction, or to otherwise facilitate human–computer interaction.\nHowever, this tends to give naïve users an unrealistic conception of the intelligence of existing computer agents. Moderate successes related to affective computing include textual sentiment analysis and, more recently, multimodal sentiment analysis, wherein AI classifies the effects displayed by a videotaped subject.","score":53.16641805025819,"links":[]},{"source":"wiki_artificial_intelligence.hat","text":"Artificial neural networks\nAn artificial neural network is based on a collection of nodes also known as artificial neurons, which loosely model the neurons in a biological brain. It is trained to recognise patterns; once trained, it can recognise those patterns in fresh data. There is an input, at least one hidden layer of nodes and an output. Each node applies a function and once the weight crosses its specified threshold, the data is transmitted to the next layer. A network is typically called a deep neural network if it has at least 2 hidden layers.\nLearning algorithms for neural networks use local search to choose the weights that will get the right output for each input during training. The most common training technique is the backpropagation algorithm. Neural networks learn to model complex relationships between inputs and outputs and find patterns in data. In theory, a neural network can learn any function.\nIn feedforward neural networks the signal passes in only one direction. The term perceptron typically refers to a single-layer neural network. In contrast, deep learning uses many layers. Recurrent neural networks (RNNs) feed the output signal back into the input, which allows short-term memories of previous input events. Long short-term memory networks (LSTMs) are recurrent neural networks that better preserve longterm dependencies and are less sensitive to the vanishing gradient problem. Convolutional neural networks (CNNs) use layers of kernels to more efficiently process local patterns. This local processing is especially important in image processing, where the early CNN layers typically identify simple local patterns such as edges and curves, with subsequent layers detecting more complex patterns like textures, and eventually whole objects.","score":53.16641805025819,"links":[]},{"source":"wiki_artificial_intelligence.hat","text":"Risks and harm\nPrivacy and copyright\nMachine learning algorithms require large amounts of data. The techniques used to acquire this data have raised concerns about privacy, surveillance and copyright.\nAI-powered devices and services, such as virtual assistants and IoT products, continuously collect personal information, raising concerns about intrusive data gathering and unauthorized access by third parties. The loss of privacy is further exacerbated by AI's ability to process and combine vast amounts of data, potentially leading to a surveillance society where individual activities are constantly monitored and analyzed without adequate safeguards or transparency.\nSensitive user data collected may include online activity records, geolocation data, video, or audio. For example, in order to build speech recognition algorithms, Amazon has recorded millions of private conversations and allowed temporary workers to listen to and transcribe some of them. Opinions about this widespread surveillance range from those who see it as a necessary evil to those for whom it is clearly unethical and a violation of the right to privacy.\nAI developers argue that this is the only way to deliver valuable applications and have developed several techniques that attempt to preserve privacy while still obtaining the data, such as data aggregation, de-identification and differential privacy. Since 2016, some privacy experts, such as Cynthia Dwork, have begun to view privacy in terms of fairness. Brian Christian wrote that experts have pivoted \"from the question of 'what they know' to the question of 'what they're doing with it'.\"\nGenerative AI is often trained on unlicensed copyrighted works, including in domains such as images or computer code; the output is then used under the rationale of \"fair use\". Experts disagree about how well and under what circumstances this rationale will hold up in courts of law; relevant factors may include \"the purpose and character of the use of the copyrighted work\" and \"the effect upon the potential market for the copyrighted work\". Website owners can indicate that they do not want their content scraped via a \"robots.txt\" file. However, some companies will scrape content regardless because the robots.txt file has no real authority. In 2023, leading authors (including John Grisham and Jonathan Franzen) sued AI companies for using their work to train generative AI. Another discussed approach is to envision a separate sui generis system of protection for creations generated by AI to ensure fair attribution and compensation for human authors.","score":53.16641805025819,"links":[]},{"source":"web_1779060034.hat","text":"Menu Using App Router Features available in /app Latest Version 16.2.6 For an index of Next.js documentation , see /docs/llms.txt . Next.js Docs Welcome to the Next.js documentation! What is Next.js? Next.js is a React framework for building full-stack web applications. You use React Components to build user interfaces, and Next.js for additional features and optimizations. It also automatically configures lower-level tools like bundlers and compilers. You can instead focus on building your product and shipping quickly. Whether you're an individual developer or part of a larger team, Next.js can help you build interactive, dynamic, and fast React applications. How to use the docs The docs are organized into 3 sections: Getting Started : Step-by-step tutorials to help you create a new application and learn the core Next.js features. Guides : Tutorials on specific use cases, choose what's relevant to you. API Reference : Detailed technical reference for every feature. Use the sidebar to navigate through the sections, or search ( Ctrl+K or Cmd+K ) to quickly find a page. App Router and Pages Router Next.js has two different routers: App Router : The newer router that supports new React features like Server Components. Pages Router : The original router, still supported and being improved. At the top of the sidebar, you'll notice a dropdown menu that allows you to switch between the App Router and the Pages Router docs. React version handling The App Router and Pages Router handle React versions differently: App Router : Uses React canary releases built-in, which include all the stable React 19 changes, as well as newer features being validated in frameworks, prior to a new React release. Pages Router : Uses the React version installed in your project's package.json . This approach ensures new React features work reliably in the App Router while maintaining backwards compatibility for existing Pages Router applications. Pre-requisite knowledge Our documentation assumes some familiarity with web development. Before getting started, it'll help if you're comfortable with: HTML CSS JavaScript React If you're new to React or need a refresher, we recommend starting with our React Foundations course , and the Next.js Foundations course that has you building an application as you learn. Accessibility For the best experience when using a screen reader, we recommend using Firefox and NVDA, or Safari and VoiceOver. Join our Community If you have questions about anything related to Next.js, you're always welcome to ask our community on GitHub Discussions , Discord , X (Twitter) , and Reddit . Next Steps Create your first application and learn the core Next.js features. Getting Started Learn how to create full-stack web applications with the Next.js App Router. Was this helpful? supported. Send","score":27.12400931168676,"links":[]},{"source":"web_1779060034.hat","text":"Menu Using App Router Features available in /app Latest Version 16.2.6 This page is also available as Markdown at /docs/app/guides.md . For an index of Next.js documentation , see /docs/llms.txt . Copy page Guides Last updated May 13, 2026 AI Coding Agents Learn how to configure your Next.js project so AI coding agents use up-to-date documentation instead of outdated training data. Analytics Measure and track page performance using Next.js Speed Insights Authentication Learn how to implement authentication in your Next.js application. Backend for Frontend Learn how to use Next.js as a backend framework Caching (Previous Model) Learn how to cache and revalidate data using fetch options, unstable_cache, and route segment configs for projects not using Cache Components. CDN Caching Learn how CDN caching works with Next.js, including what works today, cache variability, and the direction toward pathname-based cache keying. CI Build Caching Learn how to configure CI to cache Next.js builds Content Security Policy Learn how to set a Content Security Policy (CSP) for your Next.js application. CSS-in-JS Use CSS-in-JS libraries with Next.js Custom Server Start a Next.js app programmatically using a custom server. Data Security Learn the built-in data security features in Next.js and learn best practices for protecting your application's data. Debugging Learn how to debug your Next.js application with VS Code, Chrome DevTools, or Firefox DevTools. Deploying to Platforms Understand which Next.js features require specific platform capabilities and how to choose the right deployment target. Draft Mode Next.js has draft mode to toggle between static and dynamic pages. You can learn how it works with App Router here. Environment Variables Learn to add and access environment variables in your Next.js application. Forms Learn how to create forms in Next.js with React Server Actions. How Revalidation Works A deep dive into how Next.js revalidates cached content, including the tag system, cache consistency, and multi-instance coordination. ISR Learn how to create or update static pages at runtime with Incremental Static Regeneration. Instrumentation Learn how to use instrumentation to run code at server startup in your Next.js app Internationalization Add support for multiple languages with internationalized routing and localized content. JSON-LD Learn how to add JSON-LD to your Next.js application to describe your content to search engines and AI. Lazy Loading Lazy load imported libraries and React Components to improve your application's loading performance. Development Environment Learn how to optimize your local development environment with Next.js. Next.js MCP Server Learn how to use Next.js MCP support to allow coding agents access to your application state MDX Learn how to configure MDX and use it in your Next.js apps. Memory Usage Optimize memory used by your application in development and production. Migrating Learn how to migrate from popular frameworks to Next.js Migrating to Cache Components Learn how to migrate from route segment configs to Cache Components in Next.js. Multi-tenant Learn how to build multi-tenant apps with the App Router. Multi-zones Learn how to build micro-frontends using Next.js Multi-Zones to deploy multiple Next.js apps under a single domain. OpenTelemetry Learn how to instrument your Next.js app with OpenTelemetry. Package Bundling Learn how to analyze and optimize your application's server and client bundles with the Next.js Bundle Analyzer for Turbopack, and the `@next/bundle-analyzer` plugin for Webpack. PPR Platform Guide A guide for platform engineers on implementing PPR support, from basic origin rendering to optimized CDN integration. Prefetching Learn how to configure prefetching in Next.js Preserving UI state Learn how React's Activity component preserves UI state across navigations in Next.js and how to control what resets. Preventing Flash Learn how to correct server-rendered content before the browser paints, avoiding visible flash when the page hydrates. Production Recommendations to ensure the best performance and user experience before taking your Next.js application to production. PWAs Learn how to build a Progressive Web Application (PWA) with Next.js. Public pages Learn how to build public, \"static\" pages that share data across users, such as landing pages, list pages (products, blogs, etc.), marketing and news sites. Redirecting Learn the different ways to handle redirects in Next.js. Rendering Philosophy Learn how Next.js treats static and dynamic rendering as a spectrum at the component level, and what this means for deployment. Sass Style your Next.js application using Sass. Scripts Optimize 3rd party scripts with the built-in Script component. Self-Hosting Learn how to self-host your Next.js application on a Node.js server, Docker image, or static HTML files (static exports). SPAs Next.js fully supports building Single-Page Applications (SPAs). Static Exports Next.js enables starting as a static site or Single-Page Application (SPA), then later optionally upgrading to use features that require a server. Streaming Learn how streaming works in Next.js and how to use it to progressively render UI as data becomes available. Tailwind CSS v3 Style your Next.js Application using Tailwind CSS v3 for broader browser support. Testing Learn how to set up Next.js with four commonly used testing tools — Cypress, Playwright, Vitest, and Jest. Third Party Libraries Optimize the performance of third-party libraries in your application with the `@next/third-parties` package. Upgrading Learn how to upgrade to the latest versions of Next.js. Videos Recommendations and best practices for optimizing videos in your Next.js application. View transitions Learn how to use view transitions to communicate meaning during navigation, loading, and content changes in a Next.js app. Was this helpful? supported. Send","score":27.12400931168676,"links":[]},{"source":"web_1779060041.hat","text":"Supabase Documentation Learn how to get up and running with Supabase through tutorials, APIs and platform resources. Getting Started Set up and connect a database in just a few minutes. Start with Supabase AI prompts Products Database Supabase provides a full Postgres database for every project with Realtime functionality, database backups, extensions, and more. Auth Add and manage email and password, passwordless, OAuth, and mobile logins to your project through a suite of identity providers and APIs. Storage Store, organize, transform, and serve large files—fully integrated with your Postgres database with Row Level Security access policies. Realtime Listen to database changes, store and sync user states across clients, broadcast data to clients subscribed to a channel, and more. Edge Functions Globally distributed, server-side functions to execute your code closest to your users for the lowest latency. Modules AI & Vectors Cron Queues Data REST API GraphQL API Client Libraries JavaScript Flutter Python C# Swift Kotlin Migrate to Supabase Bring your existing data, auth and storage to Supabase following our migration guides. Explore more resources about /guides/resources Explore more resources Amazon RDS Auth0 Firebase Auth Firebase Storage Firestore Data Heroku MSSQL MySQL Neon Postgres Render Vercel Postgres Additional resources AI tools Develop with Supabase AI-first using plugins, MCP, and skills. Platform guides Learn more about the tools and services powering Supabase. Supabase CLI Use the CLI to develop, manage and deploy your projects. Management API Manage your Supabase projects and organizations. Integrations Explore a variety of integrations from Supabase partners. Supabase UI A collection of pre-built Supabase components to speed up your project. Troubleshooting Our troubleshooting guide for solutions to common Supabase issues. Self-Hosting Get started with self-hosting Supabase. More on Self-Hosting about /guides/self-hosting More on Self-Hosting Auth Realtime Storage Analytics","score":27.12400931168676,"links":[]},{"source":"web_1779060046.hat","text":"API Reference Copy page Copy React Reference Overview This section provides detailed reference documentation for working with React. For an introduction to React, please visit the Learn section. The React reference documentation is broken down into functional subsections: React Programmatic React features: Hooks - Use different React features from your components. Components - Built-in components that you can use in your JSX. APIs - APIs that are useful for defining components. Directives - Provide instructions to bundlers compatible with React Server Components. React DOM React DOM contains features that are only supported for web applications (which run in the browser DOM environment). This section is broken into the following: Hooks - Hooks for web applications which run in the browser DOM environment. Components - React supports all of the browser built-in HTML and SVG components. APIs - The react-dom package contains methods supported only in web applications. Client APIs - The react-dom/client APIs let you render React components on the client (in the browser). Server APIs - The react-dom/server APIs let you render React components to HTML on the server. Static APIs - The react-dom/static APIs let you generate static HTML for React components. React Compiler The React Compiler is a build-time optimization tool that automatically memoizes your React components and values: Configuration - Configuration options for React Compiler. Directives - Function-level directives to control compilation. Compiling Libraries - Guide for shipping pre-compiled library code. ESLint Plugin React Hooks The ESLint plugin for React Hooks helps enforce the Rules of React: Lints - Detailed documentation for each lint with examples. Rules of React React has idioms — or rules — for how to express patterns in a way that is easy to understand and yields high-quality applications: Components and Hooks must be pure – Purity makes your code easier to understand, debug, and allows React to automatically optimize your components and hooks correctly. React calls Components and Hooks – React is responsible for rendering components and hooks when necessary to optimize the user experience. Rules of Hooks – Hooks are defined using JavaScript functions, but they represent a special type of reusable UI logic with restrictions on where they can be called. Legacy APIs Legacy APIs - Exported from the react package, but not recommended for use in newly written code. Next Hooks","score":27.12400931168676,"links":[]},{"source":"web_1779060046.hat","text":"Learn React Copy page Copy Quick Start Welcome to the React documentation! This page will give you an introduction to 80% of the React concepts that you will use on a daily basis. You will learn How to create and nest components How to add markup and styles How to display data How to render conditions and lists How to respond to events and update the screen How to share data between components Creating and nesting components React apps are made out of components . A component is a piece of the UI (user interface) that has its own logic and appearance. A component can be as small as a button, or as large as an entire page. React components are JavaScript functions that return markup: function MyButton ( ) { return ( < button > I'm a button </ button > ) ; } Now that you’ve declared MyButton , you can nest it into another component: export default function MyApp ( ) { return ( < div > < h1 > Welcome to my app </ h1 > < MyButton /> </ div > ) ; } Notice that <MyButton /> starts with a capital letter. That’s how you know it’s a React component. React component names must always start with a capital letter, while HTML tags must be lowercase. Have a look at the result: App.js App.js Reload Clear Fork function MyButton ( ) { return ( < button > I'm a button </ button > ) ; } export default function MyApp ( ) { return ( < div > < h1 > Welcome to my app </ h1 > < MyButton /> </ div > ) ; } Show more The export default keywords specify the main component in the file. If you’re not familiar with some piece of JavaScript syntax, MDN and javascript.info have great references. Writing markup with JSX The markup syntax you’ve seen above is called JSX . It is optional, but most React projects use JSX for its convenience. All of the tools we recommend for local development support JSX out of the box. JSX is stricter than HTML. You have to close tags like <br /> . Your component also can’t return multiple JSX tags. You have to wrap them into a shared parent, like a <div>...</div> or an empty <>...</> wrapper: function AboutPage ( ) { return ( < > < h1 > About </ h1 > < p > Hello there. < br /> How do you do? </ p > </ > ) ; } If you have a lot of HTML to port to JSX, you can use an online converter. Adding styles In React, you specify a CSS class with className . It works the same way as the HTML class attribute: < img className = \"avatar\" /> Then you write the CSS rules for it in a separate CSS file: /* In your CSS */ .avatar { border-radius : 50 % ; } React does not prescribe how you add CSS files. In the simplest case, you’ll add a <link> tag to your HTML. If you use a build tool or a framework, consult its documentation to learn how to add a CSS file to your project. Displaying data JSX lets you put markup into JavaScript. Curly braces let you “escape back” into JavaScript so that you can embed some variable from your code and display it to the user. For example, this will display user.name : return ( < h1 > { user . name } </ h1 > ) ; You can also “escape into JavaScript” from JSX attributes, but you have to use curly braces instead of quotes. For example, className=\"avatar\" passes the \"avatar\" string as the CSS class, but src={user.imageUrl} reads the JavaScript user.imageUrl variable value, and then passes that value as the src attribute: return ( < img className = \"avatar\" src = { user . imageUrl } /> ) ; You can put more complex expressions inside the JSX curly braces too, for example, string concatenation : App.js App.js Reload Clear Fork const user = { name : 'Hedy Lamarr' , imageUrl : 'https://react.dev/images/docs/scientists/yXOvdOSs.jpg' , imageSize : 90 , } ; export default function Profile ( ) { return ( < > < h1 > { user . name } </ h1 > < img className = \"avatar\" src = { user . imageUrl } alt = { 'Photo of ' + user . name } style = { { width : user . imageSize , height : user . imageSize } } /> </ > ) ; } Show more In the above example, style={{}} is not a special syntax, but a regular {} object inside the style={ } JSX curly braces. You can use the style attribute when your styles depend on JavaScript variables. Conditional rendering In React, there is no special syntax for writing conditions. Instead, you’ll use the same techniques as you use when writing regular JavaScript code. For example, you can use an if statement to conditionally include JSX: let content ; if ( isLoggedIn ) { content = < AdminPanel /> ; } else { content = < LoginForm /> ; } return ( < div > { content } </ div > ) ; If you prefer more compact code, you can use the conditional ? operator. Unlike if , it works inside JSX: < div > { isLoggedIn ? ( < AdminPanel /> ) : ( < LoginForm /> ) } </ div > When you don’t need the else branch, you can also use a shorter logical && syntax : < div > { isLoggedIn && < AdminPanel /> } </ div > All of these approaches also work for conditionally specifying attributes. If you’re unfamiliar with some of this JavaScript syntax, you can start by always using if...else . Rendering lists You will rely on JavaScript features like for loop and the array map() function to render lists of components. For example, let’s say you have an array of products: const products = [ { title : 'Cabbage' , id : 1 } , { title : 'Garlic' , id : 2 } , { title : 'Apple' , id : 3 } , ] ; Inside your component, use the map() function to transform an array of products into an array of <li> items: const listItems = products . map ( product => < li key = { product . id } > { product . title } </ li > ) ; return ( < ul > { listItems } </ ul > ) ; Notice how <li> has a key attribute. For each item in a list, you should pass a string or a number that uniquely identifies that item among its siblings. Usually, a key should be coming from your data, such as a database ID. React uses your keys to know what happened if you later insert, delete, or reorder the items. App.js App.js Reload Clear Fork const products = [ { title : 'Cabbage' , isFruit : false , id : 1 } , { title : 'Garlic' , isFruit : false , id : 2 } , { title : 'Apple' , isFruit : true , id : 3 } , ] ; export default function ShoppingList ( ) { const listItems = products . map ( product => < li key = { product . id } style = { { color : product . isFruit ? 'magenta' : 'darkgreen' } } > { product . title } </ li > ) ; return ( < ul > { listItems } </ ul > ) ; } Show more Responding to events You can respond to events by declaring event handler functions inside your components: function MyButton ( ) { function handleClick ( ) { alert ( 'You clicked me!' ) ; } return ( < button onClick = { handleClick } > Click me </ button > ) ; } Notice how onClick={handleClick} has no parentheses at the end! Do not call the event handler function: you only need to pass it down . React will call your event handler when the user clicks the button. Updating the screen Often, you’ll want your component to “remember” some information and display it. For example, maybe you want to count the number of times a button is clicked. To do this, add state to your component. First, import useState from React: import { useState } from 'react' ; Now you can declare a state variable inside your component: function MyButton ( ) { const [ count , setCount ] = useState ( 0 ) ; // ... You’ll get two things from useState : the current state ( count ), and the function that lets you update it ( setCount ). You can give them any names, but the convention is to write [something, setSomething] . The first time the button is displayed, count will be 0 because you passed 0 to useState() . When you want to change state, call setCount() and pass the new value to it. Clicking this button will increment the counter: function MyButton ( ) { const [ count , setCount ] = useState ( 0 ) ; function handleClick ( ) { setCount ( count + 1 ) ; } return ( < button onClick = { handleClick } > Clicked { count } times </ button > ) ; } React will call your component function again. This time, count will be 1 . Then it will be 2 . And so on. If you render the same component multiple times, each will get its own state. Click each button separately: App.js App.js Reload Clear Fork import { useState } from 'react' ; export default function MyApp ( ) { return ( < div > < h1 > Counters that update separately </ h1 > < MyButton /> < MyButton /> </ div > ) ; } function MyButton ( ) { const [ count , setCount ] = useState ( 0 ) ; function handleClick ( ) { setCount ( count + 1 ) ; } return ( < button onClick = { handleClick } > Clicked { count } times </ button > ) ; } Show more Notice how each button “remembers” its own count state and doesn’t affect other buttons. Using Hooks Functions starting with use are called Hooks . useState is a built-in Hook provided by React. You can find other built-in Hooks in the API reference. You can also write your own Hooks by combining the existing ones. Hooks are more restrictive than other functions. You can only call Hooks at the top of your components (or other Hooks). If you want to use useState in a condition or a loop, extract a new component and put it there. Sharing data between components In the previous example, each MyButton had its own independent count , and when each button was clicked, only the count for the button clicked changed: Initially, each MyButton ’s count state is 0 The first MyButton updates its count to 1 However, often you’ll need components to share data and always update together . To make both MyButton components display the same count and update together, you need to move the state from the individual buttons “upwards” to the closest component containing all of them. In this example, it is MyApp : Initially, MyApp ’s count state is 0 and is passed down to both children On click, MyApp updates its count state to 1 and passes it down to both children Now when you click either button, the count in MyApp will change, which will change both of the counts in MyButton . Here’s how you can express this in code. First, move the state up from MyButton into MyApp : export default function MyApp ( ) { const [ count , setCount ] = useState ( 0 ) ; function handleClick ( ) { setCount ( count + 1 ) ; } return ( < div > < h1 > Counters that update separately </ h1 > < MyButton /> < MyButton /> </ div > ) ; } function MyButton ( ) { // ... we're moving code from here ... } Then, pass the state down from MyApp to each MyButton , together with the shared click handler. You can pass information to MyButton using the JSX curly braces, just like you previously did with built-in tags like <img> : export default function MyApp ( ) { const [ count , setCount ] = useState ( 0 ) ; function handleClick ( ) { setCount ( count + 1 ) ; } return ( < div > < h1 > Counters that update together </ h1 > < MyButton count = { count } onClick = { handleClick } /> < MyButton count = { count } onClick = { handleClick } /> </ div > ) ; } The information you pass down like this is called props . Now the MyApp component contains the count state and the handleClick event handler, and passes both of them down as props to each of the buttons. Finally, change MyButton to read the props you have passed from its parent component: function MyButton ( { count , onClick } ) { return ( < button onClick = { onClick } > Clicked { count } times </ button > ) ; } When you click the button, the onClick handler fires. Each button’s onClick prop was set to the handleClick function inside MyApp , so the code inside of it runs. That code calls setCount(count + 1) , incrementing the count state variable. The new count value is passed as a prop to each button, so they all show the new value. This is called “lifting state up”. By moving state up, you’ve shared it between components. App.js App.js Reload Clear Fork import { useState } from 'react' ; export default function MyApp ( ) { const [ count , setCount ] = useState ( 0 ) ; function handleClick ( ) { setCount ( count + 1 ) ; } return ( < div > < h1 > Counters that update together </ h1 > < MyButton count = { count } onClick = { handleClick } /> < MyButton count = { count } onClick = { handleClick } /> </ div > ) ; } function MyButton ( { count , onClick } ) { return ( < button onClick = { onClick } > Clicked { count } times </ button > ) ; } Show more Next Steps By now, you know the basics of how to write React code! Check out the Tutorial to put them into practice and build your first mini-app with React. Next Tutorial: Tic-Tac-Toe","score":27.12400931168676,"links":[]},{"source":"web_1779060046.hat","text":"API Reference Copy page Copy Built-in React Hooks Hooks let you use different React features from your components. You can either use the built-in Hooks or combine them to build your own. This page lists all built-in Hooks in React. State Hooks State lets a component “remember” information like user input. For example, a form component can use state to store the input value, while an image gallery component can use state to store the selected image index. To add state to a component, use one of these Hooks: useState declares a state variable that you can update directly. useReducer declares a state variable with the update logic inside a reducer function. function ImageGallery ( ) { const [ index , setIndex ] = useState ( 0 ) ; // ... Context Hooks Context lets a component receive information from distant parents without passing it as props. For example, your app’s top-level component can pass the current UI theme to all components below, no matter how deep. useContext reads and subscribes to a context. function Button ( ) { const theme = useContext ( ThemeContext ) ; // ... Ref Hooks Refs let a component hold some information that isn’t used for rendering, like a DOM node or a timeout ID. Unlike with state, updating a ref does not re-render your component. Refs are an “escape hatch” from the React paradigm. They are useful when you need to work with non-React systems, such as the built-in browser APIs. useRef declares a ref. You can hold any value in it, but most often it’s used to hold a DOM node. useImperativeHandle lets you customize the ref exposed by your component. This is rarely used. function Form ( ) { const inputRef = useRef ( null ) ; // ... Effect Hooks Effects let a component connect to and synchronize with external systems. This includes dealing with network, browser DOM, animations, widgets written using a different UI library, and other non-React code. useEffect connects a component to an external system. function ChatRoom ( { roomId } ) { useEffect ( ( ) => { const connection = createConnection ( roomId ) ; connection . connect ( ) ; return ( ) => connection . disconnect ( ) ; } , [ roomId ] ) ; // ... Effects are an “escape hatch” from the React paradigm. Don’t use Effects to orchestrate the data flow of your application. If you’re not interacting with an external system, you might not need an Effect. There are two rarely used variations of useEffect with differences in timing: useLayoutEffect fires before the browser repaints the screen. You can measure layout here. useInsertionEffect fires before React makes changes to the DOM. Libraries can insert dynamic CSS here. You can also separate events from Effects: useEffectEvent creates a non-reactive event to fire from any Effect hook. Performance Hooks A common way to optimize re-rendering performance is to skip unnecessary work. For example, you can tell React to reuse a cached calculation or to skip a re-render if the data has not changed since the previous render. To skip calculations and unnecessary re-rendering, use one of these Hooks: useMemo lets you cache the result of an expensive calculation. useCallback lets you cache a function definition before passing it down to an optimized component. function TodoList ( { todos , tab , theme } ) { const visibleTodos = useMemo ( ( ) => filterTodos ( todos , tab ) , [ todos , tab ] ) ; // ... } Sometimes, you can’t skip re-rendering because the screen actually needs to update. In that case, you can improve performance by separating blocking updates that must be synchronous (like typing into an input) from non-blocking updates which don’t need to block the user interface (like updating a chart). To prioritize rendering, use one of these Hooks: useTransition lets you mark a state transition as non-blocking and allow other updates to interrupt it. useDeferredValue lets you defer updating a non-critical part of the UI and let other parts update first. Other Hooks These Hooks are mostly useful to library authors and aren’t commonly used in the application code. useDebugValue lets you customize the label React DevTools displays for your custom Hook. useId lets a component associate a unique ID with itself. Typically used with accessibility APIs. useSyncExternalStore lets a component subscribe to an external store. useActionState allows you to manage state of actions. Your own Hooks You can also define your own custom Hooks as JavaScript functions. Previous Overview Next useActionState","score":27.12400931168676,"links":[]},{"source":"postgres_mastery.tah","text":"Hybrid Postgres Pattern: Combining pg_vector semantic search with RLS for secure AI retrieval. Always enforce RLS on the embedding tables to ensure users only retrieve semantic matches they are authorized to see. Use Supabase 'rpc' calls to handle complex vector math inside Security Definer functions for performance.\n\n[SWARM_LINKS] a11b9110ba4b -> UNRESOLVED, 72fad7cb9706 -> UNRESOLVED","score":15,"links":[]}]},"metadata":{},"timestamp":"2026-07-08T22:49:34.952Z"}