Comments (9)
@NandoBruch Voce poderia marcar um papo de 1horinha pra a gente ver isso em pair? Porque nao estou conseguindo pegar o problema.
Claro! Marquei lá
from use-mask-input.
Estou utilizando o hook em uma aplicação que usa Next 13.
A implementação segue o exemplo mostrado no readme.
import { useForm } from 'react-hook-form'; import { useHookFormMask } from 'use-mask-input'; type FormType = { guest: any; cpf: string; }; type FormProps = { submit: (data: FormType) => void; }; const Form: FC<FormProps> = ({ submit, ...props }) => { const { register, handleSubmit } = useForm<FormType>({ defaultValues: { guest: '', cpf: '' } }); const registerWithMask = useHookFormMask(register); const onSubmit = (data: FormType) => { submit(data); }; return ( <div {...props}> <h3>titulo</h3> <form onSubmit={handleSubmit(data => onSubmit(data))}> <TextInput {...registerWithMask('cpf', 'cpf')} label='CPF' /> ...
Rodando localmente, ao carregar a página, o erro recebido é:
Poderia mostrar como está seu package.json?
from use-mask-input.
Estou utilizando o hook em uma aplicação que usa Next 13.
A implementação segue o exemplo mostrado no readme.import { useForm } from 'react-hook-form'; import { useHookFormMask } from 'use-mask-input'; type FormType = { guest: any; cpf: string; }; type FormProps = { submit: (data: FormType) => void; }; const Form: FC<FormProps> = ({ submit, ...props }) => { const { register, handleSubmit } = useForm<FormType>({ defaultValues: { guest: '', cpf: '' } }); const registerWithMask = useHookFormMask(register); const onSubmit = (data: FormType) => { submit(data); }; return ( <div {...props}> <h3>titulo</h3> <form onSubmit={handleSubmit(data => onSubmit(data))}> <TextInput {...registerWithMask('cpf', 'cpf')} label='CPF' /> ...
Rodando localmente, ao carregar a página, o erro recebido é:
Poderia mostrar como está seu package.json?
Claro:
"dependencies": {
"@phosphor-icons/react": "^2.0.9",
"@stitches/react": "^1.2.8",
"@types/node": "18.14.2",
"@types/react": "18.0.28",
"@types/react-dom": "18.0.11",
"axios": "^1.3.4",
"dotenv": "^16.0.3",
"eslint-config-next": "13.2.1",
"inputmask": "^5.0.9-beta.16",
"next": "13.2.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-hook-form": "^7.43.9",
"typescript": "4.9.5",
"use-mask-input": "^3.3.0"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.54.0",
"@typescript-eslint/parser": "^5.54.0",
"eslint": "^8.35.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"prettier": "^2.8.4"
}
}
Caso ajude, quando eu tento registrar o input com a aplicação já rodando, quando o next roda o live reload só do clientSide, o hook funciona perfeitamente. Mas qualquer refresh da página, que o Next tenta gerar a página via servidor, o erro do print acima é exibido,
from use-mask-input.
Estou utilizando o hook em uma aplicação que usa Next 13.
A implementação segue o exemplo mostrado no readme.
import { useForm } from 'react-hook-form';
import { useHookFormMask } from 'use-mask-input';
type FormType = {
guest: any;
cpf: string;
};
type FormProps = {
submit: (data: FormType) => void;
};
const Form: FC = ({ submit, ...props }) => {
const { register, handleSubmit } = useForm({
defaultValues: {
guest: '',
cpf: ''
}
});
const registerWithMask = useHookFormMask(register);
const onSubmit = (data: FormType) => {
submit(data);
};
return (
<div {...props}>
<h3>titulo</h3>
<form onSubmit={handleSubmit(data => onSubmit(data))}>
<TextInput
{...registerWithMask('cpf', 'cpf')}
label='CPF'
/>
...
Rodando localmente, ao carregar a página, o erro recebido é:
Poderia mostrar como está seu package.json?
Claro:
"dependencies": { "@phosphor-icons/react": "^2.0.9", "@stitches/react": "^1.2.8", "@types/node": "18.14.2", "@types/react": "18.0.28", "@types/react-dom": "18.0.11", "axios": "^1.3.4", "dotenv": "^16.0.3", "eslint-config-next": "13.2.1", "inputmask": "^5.0.9-beta.16", "next": "13.2.1", "react": "18.2.0", "react-dom": "18.2.0", "react-hook-form": "^7.43.9", "typescript": "4.9.5", "use-mask-input": "^3.3.0" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.54.0", "@typescript-eslint/parser": "^5.54.0", "eslint": "^8.35.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-prettier": "^8.6.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "prettier": "^2.8.4" } }
Caso ajude, quando eu tento registrar o input com a aplicação já rodando, quando o next roda o live reload só do clientSide, o hook funciona perfeitamente. Mas qualquer refresh da página, que o Next tenta gerar a página via servidor, o erro do print acima é exibido,
Você poderia remover o inputmask das dependências e testar? Lembrando que você precisa usar o "use client" no componente, pois a lib usa o useEffect por baixo.
from use-mask-input.
Estou utilizando o hook em uma aplicação que usa Next 13.
A implementação segue o exemplo mostrado no readme.
import { useForm } from 'react-hook-form';
import { useHookFormMask } from 'use-mask-input';
type FormType = {
guest: any;
cpf: string;
};
type FormProps = {
submit: (data: FormType) => void;
};
const Form: FC = ({ submit, ...props }) => {
const { register, handleSubmit } = useForm({
defaultValues: {
guest: '',
cpf: ''
}
});
const registerWithMask = useHookFormMask(register);
const onSubmit = (data: FormType) => {
submit(data);
};
return (
<div {...props}>
<h3>titulo</h3>
<form onSubmit={handleSubmit(data => onSubmit(data))}>
<TextInput
{...registerWithMask('cpf', 'cpf')}
label='CPF'
/>
...
Rodando localmente, ao carregar a página, o erro recebido é:
Poderia mostrar como está seu package.json?
Claro:
"dependencies": { "@phosphor-icons/react": "^2.0.9", "@stitches/react": "^1.2.8", "@types/node": "18.14.2", "@types/react": "18.0.28", "@types/react-dom": "18.0.11", "axios": "^1.3.4", "dotenv": "^16.0.3", "eslint-config-next": "13.2.1", "inputmask": "^5.0.9-beta.16", "next": "13.2.1", "react": "18.2.0", "react-dom": "18.2.0", "react-hook-form": "^7.43.9", "typescript": "4.9.5", "use-mask-input": "^3.3.0" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^5.54.0", "@typescript-eslint/parser": "^5.54.0", "eslint": "^8.35.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-prettier": "^8.6.0", "eslint-plugin-import": "^2.27.5", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "prettier": "^2.8.4" } }
Caso ajude, quando eu tento registrar o input com a aplicação já rodando, quando o next roda o live reload só do clientSide, o hook funciona perfeitamente. Mas qualquer refresh da página, que o Next tenta gerar a página via servidor, o erro do print acima é exibido,
Você poderia remover o inputmask das dependências e testar? Lembrando que você precisa usar o "use client" no componente, pois a lib usa o useEffect por baixo.
Claro! Removi a lib, criei um client component simples para fazer o teste.
'use client';
import { FC, InputHTMLAttributes } from 'react';
import { useForm } from 'react-hook-form';
import { useHookFormMask } from 'use-mask-input';
type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> & {};
const TestComponent: FC<InputProps> = () => {
const { register } = useForm();
const registerWithMask = useHookFormMask(register);
return (
<form>
<input {...registerWithMask('cpf', 'cpf')} className='input-field' />
</form>
);
};
export default TestComponent;
Fiz o teste com a lib e sem a lib instalada algumas vezes, em todos os casos o erro persiste :/
from use-mask-input.
@NandoBruch Voce poderia marcar um papo de 1horinha pra a gente ver isso em pair? Porque nao estou conseguindo pegar o problema.
from use-mask-input.
@NandoBruch @eduardoborges
Olá, qual foi o resultado dessa discussão? Estou enfrentando o mesmo problema usando o remix. Isso tem algo a ver com a renderização do lado do servidor?
from use-mask-input.
Olá, qual foi o resultado dessa discussão? Estou enfrentando o mesmo problema usando o remix. Isso tem algo a ver com a renderização do lado do servidor?
Exatamente, isso se resolve no next com "use client".
Nunca usei Remix, posso tentar viabilizar uma correção.
from use-mask-input.
@eduardoborges Peço desculpas, acabei não conseguindo aparecer a agenda devido a alguns problemas, será que poderíamos tentar novamente? Acabei que não consegui solucionar o problema utilizando 'use client'
from use-mask-input.
Related Issues (20)
- Missing type=module in package.json HOT 11
- API-Options -> availability for "decimal"-mask? HOT 6
- Destructing isDirty from formState causing error with cursor-position in masked input HOT 5
- error during installation HOT 2
- 'Usage with React Hook Forms' correction HOT 1
- Remove 'mask trace' HOT 3
- Still don't get auto completion for options after last update (?) HOT 2
- docs: datetime year autofill disable
- removeMaskOnSubmit doesn't seem to work on react-hook-form HOT 1
- Integrate with react-hook-form `control` HOT 3
- Accessing unmasked value from event
- Hide the mask HOT 8
- Using controlled component causes strange behavior HOT 3
- Dynamic mask HOT 1
- Bundle size question HOT 2
- Problems with mask behavior when using 'a' or '*' for the mask template. HOT 4
- IP mask does not work correctly when used with useState
- Type problem when using useHookFormMask with React Hook Form register HOT 1
- Heavy library HOT 2
- Type error when using the lib with @types/[email protected] and @types/[email protected] HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from use-mask-input.