Ниже приведен полезный фрагмент, который работает. Он создает новый список массивов, но создание объекта JVM над головой является значительным.
Я видел, что другие ответы не обязательно сложны.
List<BaseClass> baselist = new ArrayList<>(sublist);
@JS Двигатель правильный, изменить PropTypes с рабочей версии на версию разработки.
<div id="root"></div>
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script crossorigin src="https://unpkg.com/prop-types@15.6.2/prop-types.js"></script>
<script crossorigin src="https://unpkg.com/babel-standalone@6.26.0/babel.min.js"></script>
<script type="text/babel">
function SayHello(props) {
return (
<div>
Hello {props.firstName} {props.lastName}!
</div>
)
}
SayHello.propTypes = {
firstName: PropTypes.string.isRequired,
lastName: PropTypes.string.isRequired,
}
ReactDOM.render(<SayHello />, document.getElementById('root'))
</script>
вот рабочее решение https://codesandbox.io/s/ymorp9y17v
import * as PropTypes from "prop-types";
const SayHello = props => {
return (
<div>
Hello {props.firstName} {props.lastName}!
</div>
);
};
SayHello.propTypes = {
firstName: PropTypes.string.isRequired,
lastName: PropTypes.string.isRequired
};
export default SayHello;
Это может быть проблемой с минимизированной версией проптипов.
Измените
https://unpkg.com/prop-types@15.6.2/prop-types.min.js
на
https://unpkg.com/prop-types@15.6.2/prop-types.js
Вы получите предупреждение Failed proptype.