codesandbox / codesandbox/codesandbox-client
Adding ref to an svgr component
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 13.6k
- Forks
- 2.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 2
Description
🐛 bug report
Preflight Checklist
- I have read the Contributing Guidelines for this project.
- I agree to follow the Code of Conduct that this project
adheres to. - I have searched the issue tracker for an issue that matches the one I want
to file, without success.
Description of the problem
when importing an svgr component in a react sandbox, you cannot pass a ref to that component because it doesn't use forwardRef internally to generate it. This differs from the default behavior in react-scripts.
How has this issue affected you? What are you trying to accomplish?
Add a ref to an SVG component in order to add a tooltip to it.
To Reproduce
import { render } from 'react-dom';
import { ReactComponent as SvgComponent } from './path/to/file.svg';
const App = () => (<SvgComponent ref={ref => (window.testingRef=ref)} />);
render(<App />, document.getElementById('root'));
the above produces an error in the console and doesn't invoke the ref function.
I believe this should be the default behavior like it is in CRA, however if decided against it, adding support for a global .svgrrc file would also help as we would be able to add our own custom configuration if needed.
Link to sandbox: link (optional)
Your Environment
| Software | Name/Version |
|---|---|
| Сodesandbox | |
| Browser | |
| Operating System |
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Start by reproducing the provided React sandbox example with an imported SVG component, then trace how SVGR generates that component; done means the ref callback is invoked when passed to SvgComponent, matching the stated React behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100