When it comes to inline simple SVG, you'll need to convert all the style attributes inside svg into JSX type styles attributes and classes into classNames.
This method works well for smaller SVG files.
Check out this example on CodePen: Inline SVG
function SvgWithXlink (props) {
return (
<svg
width="100%"
height="100%"
xmlns="http://www.w3.org/2000/svg"
xmlnsXlink="http://www.w3.org/1999/xlink"
>
<style>
{ `.classA { fill:${props.fill} }` }
</style>
<defs>
<g id="Port">
<circle style={{fill:'inherit'}} r="10"/>
</g>
</defs>
<text y="15">black</text>
<use x="70" y="10" xlinkHref="#Port" />
<text y="35">{ props.fill }</text>
<use x="70" y="30" xlinkHref="#Port" className="classA"/>
<text y="55">blue</text>
<use x="70" y="50" xlinkHref="#Port" style={{fill:'blue'}}/>
</svg>
);
}
ReactDOM.render(<SvgWithXlink fill="violet" />, document.querySelector('body > div'));
For more information, refer to this question: embedding-svg-into-reactjs
If your SVG file is large, consider flattening it before importing. This makes it easier to edit in the future using any SVG editor.
Converting the SVG file into JSX style may restrict its compatibility with SVG editors.