在ReactJs中,可以通过以下几种方式来避免代码重复:
// Button.js
import React from 'react';
const Button = ({ text }) => {
return ;
};
export default Button;
// 使用Button组件
import React from 'react';
import Button from './Button';
const App = () => {
return (
);
};
export default App;
// withLogging.js
import React from 'react';
const withLogging = (WrappedComponent) => {
return class extends React.Component {
componentDidMount() {
console.log('Component has mounted.');
}
render() {
return ;
}
};
};
export default withLogging;
// 使用withLogging高阶组件
import React from 'react';
import withLogging from './withLogging';
const Button = ({ text }) => {
return ;
};
const ButtonWithLogging = withLogging(Button);
const App = () => {
return ;
};
export default App;
// ShowText.js
import React from 'react';
const ShowText = ({ text }) => {
return {text};
};
export default ShowText;
// 使用Render Props
import React from 'react';
import ShowText from './ShowText';
const TextContainer = ({ render }) => {
const text = 'Hello World';
return {render(text)};
};
const App = () => {
return (
{
return ;
}}
/>
);
};
export default App;
通过以上三种方式,可以有效地避免代码重复,提高代码的可维护性和复用性。