리엑트 플레이어2 게시판 > 그누보드5 스킨

그누보드5 스킨

좋은 댓글과 좋아요는 제작자에게 큰힘이 됩니다.

리엑트 플레이어2 게시판 정보

게시판 리엑트 플레이어2 게시판

첨부파일

react_player.zip (20.2K) 18회 다운로드 2017-04-07 10:28:50

본문

기본 방법과 같이 사용 하면되며 다중파일도 작성 가능하도록 사용했습니다.

 

# 단일 소스 예시


[react:ios]
import React, { Component, } from 'react';
import { AppRegistry, Text, } from 'react-native';
 
const App = () => <Text>Hello World</Text>;
 
AppRegistry.registerComponent('App', () => App);
[/react]

 

 

# 다중소스 예시


[react:ios]
[vendor:redux,Redux,https://cdnjs.cloudflare.com/ajax/libs/redux/3.6.0/redux.min.js]
[vendor:react-redux,ReactRedux,https://cdnjs.cloudflare.com/ajax/libs/react-redux/4.4.5/react-redux.min.js]
[vendor:redux-persist,redux-persist,https://cdnjs.cloudflare.com/ajax/libs/redux-persist/4.0.0-alpha7/redux-persist.js]
[file:index.js]
import { AppRegistry, View } from 'react-native'
import { createStore } from 'redux'
import { Provider } from 'react-redux'
import { persistStore, autoRehydrate } from 'redux-persist'
 
// Import the reducer and create a store
import { reducer } from './todoListRedux'
 
// Add the autoRehydrate middleware to your redux store
const store = createStore(reducer, undefined, autoRehydrate())
 
// Enable persistence
persistStore(store)
 
// Import the App container component
import App from './App'
 
// Pass the store into the Provider
const AppWithStore = () => (
  <Provider store={store}>
    <App />
  </Provider>
)
 
AppRegistry.registerComponent('App', () => AppWithStore)
 
[/file]
 
[file:todoListRedux.js]
// The types of actions that you can dispatch to modify the state of the store
export const types = {
  ADD: 'ADD',
  REMOVE: 'REMOVE',
}
 
// Helper functions to dispatch actions, optionally with payloads
export const actionCreators = {
  add: (item) => {
    return {type: types.ADD, payload: item}
  },
  remove: (index) => {
    return {type: types.REMOVE, payload: index}
  }
}
 
// Initial state of the store
const initialState = {
  todos: ['Click to remove', 'Learn React Native', 'Write Code', 'Ship App'],
}
 
// Function to handle actions and update the state of the store.
// Notes:
// - The reducer must return a new state object. It must never modify
//   the state object. State objects should be treated as immutable.
// - We set \`state\` to our \`initialState\` by default. Redux will
//   call reducer() with no state on startup, and we are expected to
//   return the initial state of the app in this case.
export const reducer = (state = initialState, action) => {
  const {todos} = state
  const {type, payload} = action
 
  switch (type) {
    case types.ADD: {
      return {
        ...state,
        todos: [payload, ...todos],
      }
    }
    case types.REMOVE: {
      return {
        ...state,
        todos: todos.filter((todo, i) => i !== payload),
      }
    }
  }
 
  return state
}
[/file]
 
[file:App.js]
import React, { Component } from 'react'
import { AppRegistry, View } from 'react-native'
import { connect } from 'react-redux'
 
import { actionCreators } from './todoListRedux'
import List from './List'
import Input from './Input'
import Title from './Title'
 
const mapStateToProps = (state) => ({
  todos: state.todos,
})
 
class App extends Component {
 
  onAddTodo = (text) => {
    const {dispatch} = this.props
 
    dispatch(actionCreators.add(text))
  }
 
  onRemoveTodo = (index) => {
    const {dispatch} = this.props
 
    dispatch(actionCreators.remove(index))
  }
 
  render() {
    const {todos} = this.props
 
    return (
      <View>
        <Title>
          To-Do List
        </Title>
        <Input
          placeholder={'Type a todo, then hit enter!'}
          onSubmitEditing={this.onAddTodo}
        />
        <List
          list={todos}
          onPressItem={this.onRemoveTodo}
        />
      </View>
    )
  }
}
 
export default connect(mapStateToProps)(App)
[/file]
 
[file:List.js]
import React, { Component } from 'react'
import { AppRegistry, View, TouchableOpacity, Text, StyleSheet } from 'react-native'
 
export default class List extends Component {
 
  renderItem = (text, i) => {
    const {onPressItem} = this.props
 
    return (
      <TouchableOpacity
        style={styles.item}
        onPress={() => onPressItem(i)}
      >
        <Text>{text}</Text>
      </TouchableOpacity>
    )
  }
 
  render() {
    const {list} = this.props
 
    return (
      <View>
        {list.map(this.renderItem)}
      </View>
    )
  }
}
 
const styles = StyleSheet.create({
  item: {
    backgroundColor: 'whitesmoke',
    marginBottom: 5,
    padding: 15,
  },
})
[/file]
 
[file:Input.js]
import React, { Component } from 'react'
import { AppRegistry, TextInput, StyleSheet } from 'react-native'
 
export default class Input extends Component {
 
  state = {
    text: '',
  }
 
  onChangeText = (text) => this.setState({text})
 
  onSubmitEditing = () => {
    const {onSubmitEditing} = this.props
    const {text} = this.state
 
    if (!text) return // Don't submit if empty
 
    onSubmitEditing(text)
    this.setState({text: ''})
  }
 
  render() {
    const {onSubmitEditing, placeholder} = this.props
    const {text} = this.state
 
    return (
      <TextInput
        style={styles.input}
        value={text}
        placeholder={placeholder}
        onChangeText={this.onChangeText}
        onSubmitEditing={this.onSubmitEditing}
      />
    )
  }
}
 
const styles = StyleSheet.create({
  input: {
    padding: 15,
    height: 50,
  },
})
[/file]
 
[file:Title.js]
import React, { Component } from 'react'
import { View, Text, StyleSheet } from 'react-native'
 
export default class Title extends Component {
 
  render() {
    const {children} = this.props
 
    return (
      <View style={styles.header}>
        <Text style={styles.title}>{children}</Text>
      </View>
    )
  }
}
 
const styles = StyleSheet.create({
  header: {
    backgroundColor: 'skyblue',
    padding: 15,
  },
  title: {
    textAlign: 'center',
    color: 'white',
  },
})
[/file]
[/react]
추천
5

댓글 전체

[react:디바이스(ios|android)]
[vendor:vendorComponents1]
[vendor:vendorComponents2]
[file:파일명]
소스내용1
[/file]
 
[file:파일명2]
소스내용2
[/file]
[/react]
필요에 따라
view.skin.php의

<?php echo get_view_thumbnail(react_player($view['content'])); ?>

 를 수정 하시면됩니다.

<?php echo get_view_thumbnail(react_player($view['content'], (int)가로, (int)세로, (string)추가파라미터)); ?>
일 안 하시고 ㅡㅡ
화요일까지는 시간이 없으신 것 같아서 빨라도? 수요일 쯤 올라 올 줄 알았습니다!
이렇게 빨리 등록하시면 구경만하는 놈도 힘듭니다. 헤헤.
감사합니다.
전체 2,431 |RSS
그누보드5 스킨 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT