Oh My Function
Oh My Function
  • 28
  • 61 783
The Right Way to Handle Number Formatting in Next
This short video shows how to format numbers using a provider in NextJS, with several optimizations to make it fast and efficient.
--------------------------------------------------------------------------------------------
Resources:
Source: github.com/pedroapfilho/format-number-nextjs
---------------------------------------------------------------------------------------------
Gear:
Microphone: EV RE20 Black
Boom Arm: Rode PSA-1
Shock Mount: EV 309A
Audio Interface: SSL2
Camera: Sony A7IV
Lenses: Sony 35mm F1.4 GM
มุมมอง: 104

วีดีโอ

Real-Time WebSocket Data in React with RxJS and Web Workers
มุมมอง 288หลายเดือนก่อน
This is a super niched video, teaching how to create performant real-time apps with Web Workers (Comlink), RxJS (Observables), and React! I hope it's helpful to you! Resources: Source: github.com/pedroapfilho/ws-worker-observable Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7IV Lenses: Sony 35mm F1.4 GM
Building a dApp with polkadot.js, React and Typescript: 7 - How to build the interface
มุมมอง 506ปีที่แล้ว
Interfaces are the way of the user to interact with your app, this is just a mini introduction into the frontend world! Resources: Polkadot.js Extension API: polkadot.js.org/apps/?rpc=wss://ws.gm.bldnodes.org#/rpc Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Building a dApp with polkadot.js, React and Typescript: 6 - How to make subscriptions
มุมมอง 444ปีที่แล้ว
Subscriptions are the backbones of any real-time application, and Polkadot has them at its core! Resources: Polkadot.js Extension API: polkadot.js.org/apps/?rpc=wss://ws.gm.bldnodes.org#/rpc Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Building a dApp with polkadot.js, React and Typescript: 5 - How to make extrinsic calls
มุมมอง 528ปีที่แล้ว
Now that you know how to query data from the Blockchain, you'll learn how to make calls to change it! Resources: Polkadot.js Extension API: polkadot.js.org/apps/?rpc=wss://ws.gm.bldnodes.org#/rpc Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Building a dApp with polkadot.js, React and Typescript: 4 - How to make queries
มุมมอง 6502 ปีที่แล้ว
A way to query information on the blockchain is essential. Here you'll learn how to do it! Resources: Substrate Framework: substrate.io Polkadot.js Extension API: polkadot.js.org/apps/?rpc=wss://ws.gm.bldnodes.org#/rpc Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Building a dApp with polkadot.js, React and Typescript: 3 - How to interact with the wallet
มุมมอง 1.1K2 ปีที่แล้ว
Connecting with your wallet and signing transactions is a core part of any dApp, and here you'll learn how to connect with your wallet. Resources: Talisman Wallet: th-cam.com/video/JevNbPem3gQ/w-d-xo.html Polkadot.js Extension API: polkadot.js.org/docs/extension/usage Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 2...
Building a dApp with polkadot.js, React and Typescript: 2 - How to connect with the RPC
มุมมอง 1.5K2 ปีที่แล้ว
Connecting with the RPC and building the ApiPromise is simple and is the backbone of our dApp, and here you'll learn how to build one and make simple RPC calls. Resources: Create Vite App: vitejs.dev/guide/#scaffolding-your-first-vite-project What is RPC?: th-cam.com/video/MdaGuP6-bKs/w-d-xo.html Polkadot.js API Documentation: polkadot.js.org/docs/api RPC URL: wss://ws.gm.bldnodes.org/ Gear: Mi...
Building a dApp with polkadot.js, React and Typescript: 1 - Introduction
มุมมอง 1.6K2 ปีที่แล้ว
This course will contain the bare bones of a dApp using the Polkadot / Kusama ecosystem and how to connect with the RPC, build the API, queries, extrinsic calls, and subscriptions, building, in the end, a full dApp. Resources: What is Polkadot?: th-cam.com/video/i6AP6zkhOkA/w-d-xo.html What is Polkadot? DOT Explained with Animations: th-cam.com/video/YlAdEQp6ekM/w-d-xo.html What is RPC?: th-cam...
7 Most Used Array Methods in JavaScript
มุมมอง 1692 ปีที่แล้ว
These are the most used array methods in JavaScript/TypeScript, and I use them every day. Once you know them all, your life will be way easier! Resources: CodeSandbox: codesandbox.io/s/array-methods-1wsj1i Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Automating Data Crawling from Wikipedia with Puppeteer
มุมมอง 3103 ปีที่แล้ว
Automating tedious tasks is fun but not always recommended. This video will teach you how to automate it and why you probably don't need it. Resources: Repo: github.com/pedroapfilho/react-use-ethereum Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
How to Interact with MetaMask in React
มุมมอง 4863 ปีที่แล้ว
This is a super short tutorial on interacting with MetaMask using React. Resources: Repo: github.com/pedroapfilho/react-use-ethereum Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Data Visualization with D3, React, visx and Typescript: 12 - Creating a Useful Chart with visx - 2
มุมมอง 3K3 ปีที่แล้ว
This video was separated into two, so it's easier for you to follow, this is part 2, where I create the interactions Resources: Repo: github.com/pedroapfilho/crypto-price-chart Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Data Visualization with D3, React, visx and Typescript: 12 - Creating a Useful Chart with visx - 1
มุมมอง 2.6K3 ปีที่แล้ว
This video was separated into two, so it's easier for you to follow, this is part 1, where I create the initial parts and the designs Resources: Repo: github.com/pedroapfilho/crypto-price-chart Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Data Visualization with D3, React, visx and Typescript: 11 - Creating a Bar Chart with visx - 2
มุมมอง 2.8K3 ปีที่แล้ว
This video was separated into two, so it's easier for you to follow, this is part 2, where I explain how to create the tooltips Resources: Repo: github.com/pedroapfilho/visx-bar-chart Gear: Microphone: EV RE20 Black Boom Arm: Rode PSA-1 Shock Mount: EV 309A Audio Interface: SSL2 Camera: Sony A7C Lenses: Sigma 24-70mm F2.8 DG DN
Data Visualization with D3, React, visx and Typescript: 11 - Creating a Bar Chart with visx - 1
มุมมอง 6K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 11 - Creating a Bar Chart with visx - 1
Data Visualization with D3, React, visx and Typescript: 10 - Why visx?
มุมมอง 2.4K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 10 - Why visx?
Data Visualization with D3, React, visx and Typescript: 9 - D3 and React
มุมมอง 1.9K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 9 - D3 and React
Data Visualization with D3, React, visx and Typescript: 8 - D3 Bar Chart
มุมมอง 2.7K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 8 - D3 Bar Chart
Data Visualization with D3, React, visx and Typescript: 7 - D3 Axes
มุมมอง 2.2K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 7 - D3 Axes
Data Visualization with D3, React, visx and Typescript: 6 - D3 Scales
มุมมอง 3K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 6 - D3 Scales
Data Visualization with D3, React, visx and Typescript: 5 - Thinking about groups
มุมมอง 2.6K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 5 - Thinking about groups
Data Visualization with D3, React, visx and Typescript: 4 - D3 Data
มุมมอง 3.2K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 4 - D3 Data
Data Visualization with D3, React, visx and Typescript: 3 - D3 Principles
มุมมอง 4K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 3 - D3 Principles
Data Visualization with D3, React, visx and Typescript: 2 - Data Basics
มุมมอง 5K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 2 - Data Basics
Data Visualization with D3, React, visx and Typescript: 1 - Introduction
มุมมอง 10K3 ปีที่แล้ว
Data Visualization with D3, React, visx and Typescript: 1 - Introduction
Understanding Debouncing and Throttling using Javascript
มุมมอง 2.4K3 ปีที่แล้ว
Understanding Debouncing and Throttling using Javascript
4 Simple Steps to Get Hired as a Software Engineer
มุมมอง 5003 ปีที่แล้ว
4 Simple Steps to Get Hired as a Software Engineer

ความคิดเห็น

  • @criztiandev
    @criztiandev 22 วันที่ผ่านมา

    This is gold <3

  • @denisejov8632
    @denisejov8632 23 วันที่ผ่านมา

    Thank you Pedro, very easy to understand! Great job!

  • @GabrielMPereira
    @GabrielMPereira หลายเดือนก่อน

    yes very nice

  • @romulosimiquel4530
    @romulosimiquel4530 หลายเดือนก่อน

    Thank you Pedro, this video helped me a lot, today we use websocket with aws at a client and it is always been a pain in the a**, you salved me and my colleagues.

    • @OhMyFunction
      @OhMyFunction หลายเดือนก่อน

      Nice! Glad to hear!

  • @GabrielMPereira
    @GabrielMPereira หลายเดือนก่อน

    wooooooowwwwwwwww

  • @user-xs6kg8jt6s
    @user-xs6kg8jt6s หลายเดือนก่อน

    Nice

    • @OhMyFunction
      @OhMyFunction หลายเดือนก่อน

      Glad you liked it!

  • @sudoferraz
    @sudoferraz หลายเดือนก่อน

    Nice one!

    • @OhMyFunction
      @OhMyFunction หลายเดือนก่อน

      Thank you! Cheers!

  • @CidaLunacorteecostura
    @CidaLunacorteecostura 7 หลายเดือนก่อน

    Hi Pedro. I'm from Brazil and I really liked the way you teach. Thank you!

  • @miltonvento8767
    @miltonvento8767 7 หลายเดือนก่อน

    Thank you for making this video! What extension(s) did you use for the autofill? It really seemed to know your code really well. Was it an extension specific to D3?

    • @arcanak7580
      @arcanak7580 5 หลายเดือนก่อน

      It is GItHub copilot

    • @OhMyFunction
      @OhMyFunction หลายเดือนก่อน

      It was GitHub Copilot!

  • @Dom-Gaming-GTR
    @Dom-Gaming-GTR 8 หลายเดือนก่อน

    Please Check Your email brother.

    • @OhMyFunction
      @OhMyFunction หลายเดือนก่อน

      Checking, thanks!

  • @SRBInfinityofficial
    @SRBInfinityofficial 9 หลายเดือนก่อน

    when are you uploading the next videos of this series?

    • @OhMyFunction
      @OhMyFunction หลายเดือนก่อน

      The full series is already on!

  • @meka4996
    @meka4996 10 หลายเดือนก่อน

    You are the man!

  • @meka4996
    @meka4996 10 หลายเดือนก่อน

    Superman! Thanks

  • @meka4996
    @meka4996 10 หลายเดือนก่อน

    Wonderful! Thanks

  • @chralt6389
    @chralt6389 ปีที่แล้ว

    When you do the Polkadot API query call my Typescript compiler complains, because the awaited return value is Codec, but not BigInt like in your case. What are your ts compiler settings?

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      This is the repo: github.com/pedroapfilho/gmordie-dapp/tree/main

  • @riccardopellegrino5447
    @riccardopellegrino5447 ปีที่แล้ว

    There's very few people teaching data visualization with these tools, Thanks!!

  • @poguy
    @poguy ปีที่แล้ว

    how to turn 1 line into separate line thank you

  • @PaulGonzales-d8s
    @PaulGonzales-d8s ปีที่แล้ว

    Maybe don't copy and paste code on tutorials? Personally moving from codepen to VS code was another layer of complexity added on top of trying to learn the syntax.

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      Nice feedback! I'm still learning, so it's really great to know what you prefer!

  • @timetosleep8055
    @timetosleep8055 ปีที่แล้ว

    Great series! Was wondering tho what a great strategy would be to stream in data in chunks overtime for large data sets

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      That's a really great question! I'll create a video about it!

  • @friction5001
    @friction5001 ปีที่แล้ว

    How much of the visx API was used in this playlist?

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      Hey! I started using visx on the 11th video, as I had to explain some core concepts before starting it. You can check the first video where I use visx here: th-cam.com/video/teons9v4qJU/w-d-xo.html

  • @norliegh
    @norliegh ปีที่แล้ว

    thank u!!

  • @HugoDahl-q6x
    @HugoDahl-q6x ปีที่แล้ว

    Is there a way to get auto import for visx in VS Code?

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      If you install it correctly, it should auto-import it normally

  • @vaibhavtomar2300
    @vaibhavtomar2300 ปีที่แล้ว

    Thanos was right

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      Nah, I don't think so, hahaha

  • @jooorge
    @jooorge ปีที่แล้ว

    Pedro, you are an excellent teacher. I hope you continue with the channel. Cheers. Jorge

  • @Skylla54
    @Skylla54 ปีที่แล้ว

    Thanks mate < 3 If you think about to make one more video of "How to use polkaJs to interact with a ink! or solidity contract" that would be cool 🐳

    • @OhMyFunction
      @OhMyFunction หลายเดือนก่อน

      I'll try to do it! Thanks for the tip!

  • @Skylla54
    @Skylla54 ปีที่แล้ว

    Translation from React to Vue as the following: ```vue <script setup lang="ts"> /*Imports*/ import { ApiPromise, WsProvider } from "@polkadot/api"; import { web3Accounts, web3Enable } from "@polkadot/extension-dapp"; import { InjectedAccountWithMeta } from "@polkadot/extension-inject/types"; import { onMounted, ref, watch } from "vue"; /*consts*/ const NAME = "GMOrDie"; /*Refs*/ let apiRef = ref<ApiPromise>(); let accounts = ref<InjectedAccountWithMeta[]>(); let selectedAccount = ref<InjectedAccountWithMeta>(); let selectedAccountAddress = ref<string>(""); let gmgntime = ref<string>(); let toggle = ref<boolean>(false); /*Setup*/ const setup = async () => { const wsProvider = new WsProvider("wss://ws.gm.bldnodes.org/"); const api = await ApiPromise.create({ provider: wsProvider }); apiRef.value = api; const getTime = await api.query.currencies.currentTimePeriod(); gmgntime.value = getTime.toPrimitive() as string; }; /*Setup on Mounted*/ onMounted(() => { setup(); }); /*handle Conenction on Button click*/ const handleConnection = async () => { const extensions = await web3Enable(NAME); if (!extensions) { throw Error("NO_EXTENSION_FOUND"); } const allAccounts = await web3Accounts(); accounts.value = allAccounts; if (allAccounts.length === 1) { selectedAccount.value = allAccounts[0]; selectedAccountAddress.value = allAccounts[0].address; } }; /*Set selectedAccountAddress if changed from "" to something*/ watch( () => selectedAccountAddress.value, (newVal) => { if (!newVal) return; const account = accounts.value!.find( (account) => account.address == newVal ); if (!account) { throw Error("NO_ACCOUNT_FOUND"); } selectedAccount.value = account; } ); /*GMGN Time */ const getGmGnTime = async () => { const getTime = await apiRef.value!.query.currencies.currentTimePeriod(); gmgntime.value = getTime.toPrimitive() as string; }; </script> <template> <div> <!--If not connect show button--> <button v-if="!accounts" @click="handleConnection">Connect</button> <!--If connected but no account selected show select--> <select v-else-if="accounts?.length > 0 && !selectedAccount" v-model="selectedAccountAddress" > <option value="" disabled selected hidden>Choose your Account</option> <option v-for="account in accounts" :value="account.address"> {{ account.address }} </option> </select> <!--If connected and account selected show selected Address --> <p v-else><strong>Thats me:</strong> {{ selectedAccountAddress }}</p> <!--If connected and account selected show GmGnTime Button --> <!--If clicked, refresh time and show GmGnTime --> <button @click=" getGmGnTime(); toggle = !toggle; " v-if="selectedAccountAddress" > {{ toggle ? "Ok, now I know" : "Show me the time" }} </button> <h2 v-show="toggle">{{ gmgntime }}</h2> </div> </template> ```

  • @Skylla54
    @Skylla54 ปีที่แล้ว

    Translation from React to Vue as the following: ```vue <script setup lang="ts"> /*Imports*/ import { ApiPromise, WsProvider } from "@polkadot/api"; import { web3Accounts, web3Enable } from "@polkadot/extension-dapp"; import { InjectedAccountWithMeta } from "@polkadot/extension-inject/types"; import { onMounted, ref, watch } from "vue"; /*consts*/ const NAME = "GMOrDie"; /*Refs*/ let apiRef = ref<ApiPromise>(); let accounts = ref<InjectedAccountWithMeta[]>(); let selectedAccount = ref<InjectedAccountWithMeta>(); let selectedAccountAddress = ref<string>(""); /*Setup*/ const setup = async () => { const wsProvider = new WsProvider("wss://ws.gm.bldnodes.org/"); const api = await ApiPromise.create({ provider: wsProvider }); apiRef.value = api; }; /*Setup on Mounted*/ onMounted(() => { setup(); }); /*handle Conenction on Button click*/ const handleConnection = async () => { const extensions = await web3Enable(NAME); if (!extensions) { throw Error("NO_EXTENSION_FOUND"); } const allAccounts = await web3Accounts(); accounts.value = allAccounts; if (allAccounts.length === 1) { selectedAccount.value = allAccounts[0]; selectedAccountAddress.value = allAccounts[0].address; } }; /*Set selectedAccountAddress if changed from "" to something*/ watch( () => selectedAccountAddress.value, (newVal) => { if (!newVal) return; const account = accounts.value!.find( (account) => account.address == newVal ); if (!account) { throw Error("NO_ACCOUNT_FOUND"); } selectedAccount.value = account; } ); </script> <template> <div> <!--If not connect show button--> <button v-if="!accounts" @click="handleConnection">Connect</button> <!--If connected but no account selected show select--> <select v-else-if="accounts?.length > 0 && !selectedAccount" v-model="selectedAccountAddress" > <option value="">Choose your Account</option> <option v-for="account in accounts" :value="account.address"> {{ account.address }} </option> </select> <!--If connected and account selected show selected Address --> <p v-else>{{ selectedAccountAddress }}</p> </div> </template> ````

  • @siddarth1346
    @siddarth1346 ปีที่แล้ว

    This was really helpful , thank you so much for making such quality content. The explanations were very concise and understandable!

  • @gregferns
    @gregferns ปีที่แล้ว

    Thank You, very nicely explained. Can I use the same Bar Component to draw horizontal bars instead of vertical bars?

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      Yes, you can! You can see an example of it being used horizontally here: vx-demo.vercel.app/bargrouphorizontal You just need to switch the logic that we did for the height to the width of the component, and it should work!

  • @kirillzlobin7135
    @kirillzlobin7135 ปีที่แล้ว

    That would be great to see treemap example...

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      Oh, I would love to make one! Which type of visualization are you thinking about doing with treemaps?

  • @JAningene
    @JAningene ปีที่แล้ว

    when is the next video going live?

  • @JAningene
    @JAningene ปีที่แล้ว

    Where's the discord link?

  • @sarthakjoshi3797
    @sarthakjoshi3797 ปีที่แล้ว

    more videos covering more topics please. @typescript-react @metamask @ethers

  • @sasha759
    @sasha759 ปีที่แล้ว

    Hi! Why you choose React and not Next js for your DApp? Which one I need to choose for my app =)

    • @Skylla54
      @Skylla54 ปีที่แล้ว

      More stuff you add more complex it gets. Next is build on top of React and allows you to do more. Serverside rendering, api creating, static site generation, Image optimization, ... This also opens up a bunch of new errors. I prefer to start with HTML&CSS&JS, if i catch myself the 3 time to handle state, i switch to a framwork/libary. If I need to increase performance or add a bunch of buisness logic i switch to a metaframework. Incremental approach, not everyones cup of tea^^

    • @OhMyFunction
      @OhMyFunction ปีที่แล้ว

      To use it with Next.js you just need to pass the logic to be "client only", as p.js is not present on the server.

  • @sevendifferent2514
    @sevendifferent2514 ปีที่แล้ว

    i hope u add more video

  • @julypjulius8139
    @julypjulius8139 ปีที่แล้ว

    Will you maybe create a video on keyring API from backend and how to interact with it with polkadot.js

    • @OhMyFunction
      @OhMyFunction หลายเดือนก่อน

      Hmm, this is a good idea! Maybe I will do it in the future!

  • @bemtikru
    @bemtikru ปีที่แล้ว

    awesome stuff, pedro! keep it up 🔥🔥🔥

  • @jasong320
    @jasong320 ปีที่แล้ว

    Great videos! Thank you for leading me to polkadot dapps world. Looking forward to the rest.

  • @neox-y5q
    @neox-y5q 2 ปีที่แล้ว

    Very Nice series. hope you success in making these videos :)

  • @denisvradiy8503
    @denisvradiy8503 2 ปีที่แล้ว

    Great videos!! Keep creating more web3 content!

  • @r2_rho
    @r2_rho 2 ปีที่แล้ว

    This was excellent, thank you for putting this together!

    • @OhMyFunction
      @OhMyFunction 2 ปีที่แล้ว

      Glad you enjoyed it!

  • @bitconnect
    @bitconnect 2 ปีที่แล้ว

    thanks pedro, finally my step by step guide to a 100k salary, regards

  • @binstonsukhael2563
    @binstonsukhael2563 2 ปีที่แล้ว

    Bro this hairstyle look cool stay with it, nice video on visx I have done three dashboard project on visx, thanks for the videos help me a lot, keep posting on blockchain front-end

  • @mzsnigdho
    @mzsnigdho 2 ปีที่แล้ว

    Can you please make a video on how to make a tooltip in a React, D3, TypeScript & Tailwind project?

  • @ГенаФес-ъ9з
    @ГенаФес-ъ9з 2 ปีที่แล้ว

    Thanks a lot! ! ! Very cool. I am waiting for your next videous

  • @nahida4444
    @nahida4444 2 ปีที่แล้ว

    Been trying the tooltip but it is not being rendered where it supposed to :(

    • @OhMyFunction
      @OhMyFunction 2 ปีที่แล้ว

      Probably because the parent doesn't have a `position: relative`

    • @DDIDDIKIM
      @DDIDDIKIM 2 ปีที่แล้ว

      @@OhMyFunction cool 🔥

  • @haritmohansaxena732
    @haritmohansaxena732 2 ปีที่แล้ว

    great video man, i can see a great ed tech channel in making, must say the video breakup is top notch. Concise and on point. Thanks a lot and best of luck for the future.

  • @maryblessingumeh4948
    @maryblessingumeh4948 2 ปีที่แล้ว

    A nice one

  • @quocduongphung3436
    @quocduongphung3436 2 ปีที่แล้ว

    Hi, thank you for the tutorial! I have a problem: your app don't show the graphic in the first time render, even when i refresh the page (F5), it don't show the graphic. I must do something to rerender like change dimension (width or height) for it work! how can i fix this bug?

    • @OhMyFunction
      @OhMyFunction 2 ปีที่แล้ว

      hey! could you create a codesandbox link with your code, so i can check it out?

  • @NeverEndPeaceAndLove
    @NeverEndPeaceAndLove 2 ปีที่แล้ว

    Pedro, great tutorial on visx. I have learned a lot from your data visualization series. Wondering if you could post a tutorial on visx with animation for time series data, such as stock price movement over time.

    • @OhMyFunction
      @OhMyFunction 2 ปีที่แล้ว

      Great suggestion! I'll definitelly add it to my todo list!