Skip to content

Bug: [Refresh] Default exported unnamed functions are ignored #21181

@davidbonnet

Description

@davidbonnet

React version: 17.0.2
React-refresh version: 0.10.0

This issue is similar to #21179, but ignores default exported unnamed functions instead.

As a code comment suggests, this is a known limitation:

// Anonymous direct exports like export default function() {}
// are currently ignored.

Would a fix be considered?

Steps To Reproduce

Given the following files, making changes to Component.js doesn't trigger a re-render.

main.js module:

import React from 'react'
import { render } from 'react-dom'

import Component from './Component.js'

function App() {
  return <main><Component /></main>
}

render(<App />, window.document.getElementById('root'))

Component.js module:

import React from 'react'

export default ({ value = "Hello" }) => (<div>{value}</div>)

The current behavior

Making changes to Component.js does not re-render the element in main.js.
The transformed Component.js module does not register the Component for refresh.

The expected behavior

Making changes to Component.js does re-render the element in main.js.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Resolution: StaleAutomatically closed due to inactivityStatus: UnconfirmedA potential issue that we haven't yet confirmed as a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions