Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Add file serialization support to the `form` component / `use_form_data` hook

Aberta
#60 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
35/100
Tipo de issue
Funcionalidade
Clareza
Precisa de esclarecimento
Status de atividade
Ativa
Stack de tecnologia
python
Domínio
frontend

Direção de pesquisa

Start with the form component and use_form_data hook, using PR #58 and the original feature in #7 for context. Resolve whether file fields use metadata, multipart upload, or both before implementing. Done means mixed file and regular fields serialize without a reload, the behavior is tested, and documentation is updated.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Description

Follow-up to #58 (the form component and use_form_data hook, which closed #7).

The form component's client-side interception currently serializes non-file fields only. File inputs (<input type="file">) are silently excluded because the submission handler iterates FormData entries and calls .toString() on each value, which for File objects yields [object File] and loses the file content.

The PR description for #58 explicitly deferred this:

Non-file fields only; file serialization is deferred.

Proposed scope

Support forms that contain file inputs, matching how the current behavior treats other input types. Possible options to evaluate:

  • Include file metadata (name, size, type, lastModified) in the serialized form data, without uploading file content — useful for validation/UI feedback on the server.
  • Defer file content upload to a separate multipart POST when the form is submitted, integrating with the router's navigation model.
  • Combination: send metadata for a GET-style/pushState navigation while supporting an optional file payload.

Acceptance criteria

  • Defining a form with one or more <input type="file"> fields does not break serialization of the other fields.
  • File fields are represented in the use_form_data() output in a well-defined way (currently undocumented behavior).
  • No full page reload occurs on submit of a form with file inputs (consistent with #58).
  • A test covers a form that mixes file inputs with regular fields.
  • Documentation updated for file-field behaviour.

Related

  • PR: #58
  • Original feature: #7
Linguagem predominante
Python
Estrelas
15
Forks
9
Merge médio
9h 57min
PRs com merge (30d)
2

Preparar o ambiente

Ainda não verificamos os arquivos de configuração deste projeto. Comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de reactive-python/reactpy-router

Todas as issues de reactive-python/reactpy-router

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.