Cố gắng tạo ứng dụng React Native đưa mục menu trong menu Chia sẻ (Chia sẻ tác vụ cho Android, Chia sẻ tiện ích mở rộng cho iOS) và nhận các mục được chia sẻ trong ứng dụng. Có một thành phần cho điều này, và nếu không phải là cách tốt nhất để xây dựng một?Thêm hành động/tiện ích mở rộng chia sẻ trong React Native
Trả lời
Tôi đã triển khai mô-đun cho điều đó: https://www.npmjs.com/package/react-native-share-menu (hiện chỉ hoạt động cho Android).
Đó là làm thế nào để sử dụng nó:
Cài đặt các module:
npm i --save react-native-share-menu
Trong android/settings.gradle:
...
include ':react-native-share-menu', ':app'
project(':react-native-share-menu').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-share-menu/android')
Trong android/app/build.gradle:
...
dependencies {
...
compile project(':react-native-share-menu')
}
Đăng ký mô-đun (trong MainActivity.java):
import com.meedan.ShareMenuPackage; // <--- import
public class MainActivity extends ReactActivity {
......
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new ShareMenuPackage() // <------ add here
);
}
......
}
Ví dụ:
import React, {
AppRegistry,
Component,
Text,
View
} from 'react-native';
import ShareMenu from 'react-native-share-menu';
class Test extends Component {
constructor(props) {
super(props);
this.state = {
sharedText: null
};
}
componentWillMount() {
var that = this;
ShareMenu.getSharedText((text :string) => {
if (text && text.length) {
that.setState({ sharedText: text });
}
})
}
render() {
var text = this.state.sharedText;
return (
<View>
<Text>Shared text: {text}</Text>
</View>
);
}
}
AppRegistry.registerComponent('Test',() => Test);
Cập nhật: thành phần này hiện hỗ trợ iOS. – infojunkie
hi @Caio khi bạn muốn xuất bản, bạn sẽ làm gì? bạn có sử dụng gói từ dự án chính trên tiện ích mở rộng không? hoặc bạn sao chép dán gói đó trên tiện ích mở rộng? cảm ơn! – MaKo
@MaKo Tôi chỉ tạo một gói dự án chính, bao gồm phần mở rộng –
Bạn có thể sử dụng được xây dựng trong thành phần: https://facebook.github.io/react-native/docs/actionsheetios.html#content
Hoặc bạn có thể sử dụng thành phần này có thể chấp nhận bất cứ cái nhìn bạn muốn và làm cho nó trông giống như các thành phần phần iOS:
https://github.com/eyaleizenberg/react-native-custom-action-sheet
Những được thiết kế cho iOS. Đối với Android (và iOS), bạn có thể sử dụng tính năng này: https://github.com/EstebanFuentealba/react-native-share
Điều này không trả lời câu hỏi của OP. – ericpeters0n
Bạn có thể sử dụng Chia sẻ api mới được giới thiệu trong 0.33. Tôi thực sự có video về cách thực hiện việc này tại đây: http://codecookbook.co/post/how-to-share-text-from-your-react-native-app/
Nếu bạn muốn nói điều này: https://developers.facebook.com/docs/react-native/sharing sau đó bạn đang đề cập đến hoạt động nghịch đảo: mở một menu chia sẻ từ trong ứng dụng RN đến trang web bên ngoài hoặc ứng dụng khác. để tiêm một ITEM chia sẻ hiển thị trong tất cả các ứng dụng để gửi nội dung đến ứng dụng RN. – infojunkie
- 1. Bắt tiện ích mở rộng Tiện ích mở rộng của iOS Today hoạt động trên React Native
- 2. Chia sẻ văn bản VÀ phương tiện với Tiện ích mở rộng Chia sẻ WhatApp
- 3. Chỉ tiện ích mở rộng chia sẻ trên iOS Hiển thị trong Safari
- 4. Chiều rộng màn hình trong React Native
- 5. URL chia sẻ tiện ích mở rộng trên iOS trong Swift
- 6. Cách chia sẻ NSHTTPCookieStorage trong Tiện ích mở rộng iOS 8?
- 7. Tiện ích mở rộng của iOS Today - Chia sẻ dữ liệu lõi giữa
- 8. React + React Native starter kit
- 9. Bạn có thể tạo Phương thức tiện ích mở rộng tĩnh/được chia sẻ không?
- 10. Tiện ích mở rộng PSake?
- 11. Chia sẻ tiện ích mở rộng không hiển thị dữ liệu - ios
- 12. iOS Hiển thị UIAlert trong Safari khi sử dụng Tiện ích mở rộng Chia sẻ của Ứng dụng của tôi
- 13. React-Native + crypto: Cách tạo HMAC trong React-Native?
- 14. Chiều rộng/chiều cao tối thiểu trong React Native
- 15. Xác định hành động trả lại khóa trong React Native
- 16. Biểu tượng cho phần mở rộng hành động iOS biến mất sau khi chia sẻ nút menu biến mất
- 17. Làm cách nào để bạn tạo Tiện ích mở rộng Chia sẻ trong iOS8 mà không có giao diện người dùng chia sẻ
- 18. React-Native: LayoutAnimation
- 19. Cách tính chiều rộng của văn bản trong thành phần TextInput trong React Native?
- 20. Chia sẻ giữa tiện ích mở rộng iOS và ứng dụng chứa ứng dụng có móc khóa?
- 21. Xem PDF trong React Native
- 22. Thêm tệp: //. quyền đối với tiện ích mở rộng chrome
- 23. Thêm tiện ích mở rộng vào URL: Đường ray
- 24. Thêm NaCl vào Tiện ích mở rộng của Chrome
- 25. React Native Android & Genymotion
- 26. React Native Navigator
- 27. Mở (Nhập) tệp trong tiện ích mở rộng chrome
- 28. Chia sẻ danh sách các tiện ích mở rộng được cài đặt trên studio trực quan 2010
- 29. Cách nhận URL biểu mẫu hình ảnh được tiện ích mở rộng chia sẻ chuyển đến Ứng dụng
- 30. React Native for Mac
bạn đã tìm thấy giải pháp chưa? Tôi tin rằng câu trả lời dưới đây không phải là những gì bạn đã hỏi về – stkvtflw
Cũng thích biết. Rõ ràng, câu trả lời dưới đây không trả lời câu hỏi OP. – ericpeters0n