Создайте третий массив (возможно, activeList
.) Затем просто нажмите кнопку, нажав кнопку, которая копирует items
или items2
в activeList
. Наконец, замените все ссылки на items
в методе рендеринга на activeList
. Вот сокращенный код:
class ItemList extends React.Component {
state = {
...
items: [],
items2: [],
activelist: [],
};
componentDidMount() {
dataPromise.then(
result => {
this.setState({
isLoaded: true,
items: result,
activelist: result
});
},
...
);
dataPromise2.then(
result2 => {
this.setState({
isLoaded: true,
items2: result2
});
},
...
);
}
constructor(props) {
super(props);
...
this.Active1 = this.Active1.bind(this); // ADDED
this.Active2 = this.Active2.bind(this); // ADDED
}
...
Active1() {
this.setState({ activelist: Object.assign({}, this.state.items) }); //CHANGED
}
Active2() {
this.setState({ activelist: Object.assign({}, this.state.items2) }); //CHANGED
}
render() {
...
return (
...
);
}
}
}
Вот код и окно: https://codesandbox.io/s/jn6vp0qx4y?fontsize=14
18
задан Brent 11 September 2008 в 02:40
поделиться
Я никогда не должен был лично делать этого. Но, я имею, натыкался на это учебное руководство http://www.erikveen.dds.nl/distributingrubyapplications/rails.html , что я думаю, будет полезно. Учебное руководство касается, как на самом деле преобразовать приложение для направляющих в автономный EXE-файл.
Примечание, Рогатка, кажется, мертвый проект (см. комментарии). Я оставлю этот ответ здесь в исторических целях и ничтожном шансе, что он возвращается
Joyent , Рогатка могла бы быть хорошей ставкой.
Рогатка Joyent позволяет разработчикам развертывать приложения направляющих как стандартное настольное приложение, которые работают онлайн и офлайн (с синхронизацией), имеют перетаскивание и взаимодействуют со всеми другими настольными приложениями.
С Рогаткой Joyent:
- Создают гибридную сеть/настольное приложение
- , Синхронизируются и офлайновые данные, онлайн
- Используют тот же код для и офлайнового приложения (приложений)
- онлайн, Развертывают и обновляют Ваше приложение легко
- , Перетаскивают в, и из приложения
Вот некоторые дальнейшие ссылки, чтобы помочь с Вашей оценкой и/или помочь Вам начать:
Путем большинство людей поставляет рубиновые программы, включая веб-приложения направляющих, как автономный exe через rubyscript2exe. Они описывают, как упаковать приложение направляющих в http://www.erikveen.dds.nl/distributingrubyapplications/rails.html . Ruby, направляющие и все связанные библиотеки будут включены в EXE-файл.
, Поскольку другие упомянули, Ruby является не обязательно направляющими и если Вы действительно хотите простой способ записать распространяемое приложение GUI в Ruby, , Обувь является превосходным местом, чтобы начать смотреть.
Вы могли всегда полагать, что компиляция Вашего Ruby к байт-коду JVM (через JRuby) или байт-коду.NET (через IronRuby) распределила людям, которые имеют те виртуальные машины и не хотят устанавливать время выполнения Ruby.
Вы могли бы хотеть проверить Обувь для того, чтобы создать настольные приложения в Ruby. Направляющие действительно настраиваются для создания веб-сайтов.
Можно включать Ruby on Rails путем замораживания его к версии направляющих, которые Вы хотите использовать в своем проекте. Они называют это Замораживание. Пользователь не должен будет устанавливать направляющие для использования приложения. Можно сделать это с любой библиотекой, которой Вы пользуетесь в своем проекте. Если проект пользуется библиотекой, просто поместите его под папкой Vendor в Вашем проекте. Затем используйте инструмент, подобный какой @Josh, которому отвечают с упаковать его.
Вам будет нужен веб-сервер для выполнения проекта все же. Нет никакого пути вокруг этого. Ruby on Rails точно так же, как ASP.NET в этом отношении, в котором это - серверная платформа. Сервер выполняет код и производит HTML к браузеру при помощи Инфраструктуры Rails.
, К сожалению, Вы, возможно, выбрали неправильную платформу, чтобы сделать то, что Вы хотите. Вместо Ruby on Rails можно хотеть проверить Обувь , который является платформой для разработки приложений GUI с помощью Ruby.
Вы конкретно не говорите, как ли это, предполагается, приложение GUI или нет. Из других ответов я был бы думаю так.
Поэтому необходимо разъяснить, каковы цели. RoR является специализированной платформой для веб-приложений. Если бы Ваша цель состоит в том, чтобы изучить RoR, я сказал бы, чтобы вовлечь себя некоторый недорогой веб-хостинг и сделать себя приложением. Если Ваша цель состоит в том, чтобы изучить Ruby, не обязательно направляющие, то Обувь, IronRuby, JRuby, MacRuby и другие могут быть хорошими вариантами посмотреть на.